问题描述
我想在没有Windows.Media.Core.MediaSource
的控制台应用程序中使用MediaPlayer
。相反,我只想将源设置为mp4
流,然后获取原始音频和视频样本。
下面是我的代码,该代码可以加载MediaSource
,但是我看不到如何请求音频和视频样本?有一个MediaStreamSource
属性,但始终为null
。
using System;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
using Windows.Media.Capture.Frames;
using Windows.Media.Core;
using Windows.Media.MediaProperties;
using Windows.Media.Playback;
namespace ConsoleApp7
{
[ComImport]
[Guid("5B0D3235-4DBA-4D44-865E-8F1D0E4FD04D")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
unsafe interface IMemoryBufferByteAccess
{
void GetBuffer(out byte* buffer,out uint capacity);
}
class Program
{
static async Task Main(string[] args)
{
var fs = File.Open("big_buck_bunny.mp4",FileMode.Open);
var mp4Src = Windows.Media.Core.MediaSource.CreateFromStream(fs.AsRandomAccessStream(),"video/mp4");
await mp4Src.OpenAsync();
Console.WriteLine($"state {mp4Src.State},duration {mp4Src.Duration},isopen {mp4Src.IsOpen},has source {mp4Src.MseStreamSource}.");
// Get access to raw audio/video samples???
Console.ReadLine();
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)