使用MediaTranscoder.PrepareStreamTranscodeAsync()和内存流吗?

时间:2018-09-16 16:17:27

标签: c# uwp stream transcoding

在apirefference中指出源不能是InMemoryRandomAccessStream或任何其他可写流。但是我需要对InMemoryRandomAccessStream进行转码。我尝试转换Stream,但是没有用:

InMemoryRandomAccessStream untranscodedVideo = GetStream();
Stream source = untranscodedVideo.AsStreamForRead();
await transcoder.PrepareStreamTranscodeAsync(source.AsRandomAccessStream(),destinatiom,profile);


InMemoryRandomAccessStream untranscodedVideo = GetStream();
IOutputStream source = untranscodedVideo.GetOutputStreamAt(0);
await transcoder.PrepareStreamTranscodeAsync(source,destinatin,profile);

1 个答案:

答案 0 :(得分:0)

  

但是我需要对InMemoryRandomAccessStream进行转码。我尝试转换Stream,但是没有用。

PrepareStreamTranscodeAsync的源参数为IRandomAccessStream。对于此请求,您可以使用CloneStream方法将InMemoryRandomAccessStream转换为IRandomAccessStream

IRandomAccessStream irSteam = stream.CloneStream();