新手请教一个自制弹幕视频播放器的问题

zsrui 2016-08-23 07:33:19



需求:
自制一个弹幕视频播放器,播放PC本地视频,播放视频的同时,在画面中出现多条横向滚动字幕,视频内容提前准备好,而字幕内容则需要实时更新。

过程:
.net 2015环境,C#,使用WindowsMediaPlayer控件,使用label当做弹幕载体,目前已经能够播放视频,并且有弹幕滚动,如图。

问题:
1、弹幕内容的背景颜色无法去掉,我希望弹幕是透明效果的,只有文字;
2、当双击画面进入全屏播放时,弹幕就不显示了,咋办?

请前辈们指点下,多谢多谢!
...全文
482 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsrui 2016-08-30
  • 打赏
  • 举报
回复
是不是播放器挡住了画出的文字?那怎么才能让新画出来的文字在最上面呢?
threenewbee 2016-08-26
  • 打赏
  • 举报
回复
不要用label,而是直接gdi/dx 2d绘图上去。
zsrui 2016-08-26
  • 打赏
  • 举报
回复
引用 4 楼 caozhy 的回复:
不要用label,而是直接gdi/dx 2d绘图上去。
恩,搜到了相关文档,试一下,谢谢
zsrui 2016-08-26
  • 打赏
  • 举报
回复
引用 3 楼 qq_20324803 的回复:
如果是我来做,按照你的思路。就是做成服务呗,有消息就触发方法,显示字。不过我感觉好像弹幕不是这么搞吧。。。。 感觉是直接修改的视频流吧。。。。。
我是小白,目前只会在vs界面中拖拽一下控件,修改些属性,做些简单的代码,能稍微在给点具体的提示不?
摇撼大地 2016-08-25
  • 打赏
  • 举报
回复
如果是我来做,按照你的思路。就是做成服务呗,有消息就触发方法,显示字。不过我感觉好像弹幕不是这么搞吧。。。。 感觉是直接修改的视频流吧。。。。。
zsrui 2016-08-25
  • 打赏
  • 举报
回复
都没有人回啊,太惨了
zsrui 2016-08-23
  • 打赏
  • 举报
回复
代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace dmshipin
{
    public partial class Form1 : Form
    {
        int i = 1500;
        public Form1()
        {
            InitializeComponent();
            
        }

        private void axWindowsMediaPlayer1_Enter(object sender, EventArgs e)
        {
            axWindowsMediaPlayer1.URL = @"d:\h1.mp4";
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            System.Drawing.Size size = this.Size;
            System.Drawing.Point point = this.Location;

            int left = this.Left;
            int width = this.Width;

            if (i < 10)
            {
                i = width - 10;
            }
            else {
                i = i - 5;
            }
            label1.Location = new Point(i, 40);
            label2.Location = new Point(i+10, 80);
            label3.Location = new Point(i-5, 120);
            label4.Location = new Point(i+20, 160);

        }
    }
}

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧