我正在UWP和C#中编写视频通话应用程序。
现在我正在录制视频并将其发送到服务器。
我有一个自定义IRandomAccessStream
,其中包含以下ReadAsync()
方法:
public IAsyncOperationWithProgress<IBuffer, uint> ReadAsync(IBuffer buffer, uint count, InputStreamOptions options)
{
return AsyncInfo.Run<IBuffer, uint>(async (cancellationToken, progress) =>
{
IBuffer newBuffer = await socket.InputStream.ReadAsync(buffer, count, options).AsTask(cancellationToken, progress);
position += newBuffer.Length;
return newBuffer;
});
}
初始化MainPage时,我使用以下方法设置IRandomAccessStream
源:
mediaPlayer.SetSource(receiver, "video/mp4");
但是当我运行应用程序时,没有显示任何内容,而正在调用流的ReadAsync()
和Seek()
方法,并且不会抛出异常。
我做错了什么?甚至可以显示自定义IRandomAccessStream
?如果是这样,有人有一个有效的例子吗?
我正在录制这样的视频:
_mediaCapture.StartRecordToStreamAsync(MediaEncodingProfile.CreateMp4(VideoEncodingQuality.Auto), currentOutputStream);