同时下载和播放视频c#win表格

时间:2015-10-14 16:40:26

标签: c# winforms axwindowsmediaplayer

我正在创建一个c#winform应用程序,可以下载大量视频文件并同时播放它们,然后询问用户“是否要保存视频?'

var fileStream = new FileStream(@"c:\c.mp4", FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
        var writer = new BinaryWriter(fileStream);
        totalBytesRead = 0;
        double divide;
        do
        {
            bytesRead = webStream.Read(buffer, 0, 4096);
            if (bytesRead != 0)
            {
                writer.Write(buffer, 0, (int)bytesRead);
                writer.Flush();
                totalBytesRead += bytesRead;

            }

        } while (bytesRead != 0);

axWindowsMediaPlayer1.URL = "C:\\c.mp4";

下载速度很快,没有问题。 但如果下载速度低于播放速度问题将开始: 媒体播放器将到达伪结尾文件并将停止播放时间为零,播放器将显示黑屏。 我考虑的唯一方法是在停止之前暂停播放器(你知道更好的方法吗?),但我无法访问最后一帧时间。 我试过这个没有成功:

 axWindowsMediaPlayer1.PlayStateChange += axWindowsMediaPlayer1_PlayStateChange;
void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
    {
        if (e.newState == 8)//Meida ended
        {
            axWindowsMediaPlayer1.Ctlcontrols.pause();
            HandleUnWantedStop();
            My_Goal_Position= axWindowsMediaPlayer1.Ctlcontrols.currentPosition;
        }
    }

提前致谢。

0 个答案:

没有答案