アプリケーションの制約のため、私はUWPアプリケーションでIStorageFile
を使用できないため、audioGraph.CreateFileInputNodeAsync()
はオプションではありません。 (I/O)Stream
はサウンドファイルの内容でしか取得できません。AudioGraphはストリームを再生できますか?
AudioGraph
に入力ストリームを使用するよう設定する方法はありますか?
ありがとうございます!
アプリケーションの制約のため、私はUWPアプリケーションでIStorageFile
を使用できないため、audioGraph.CreateFileInputNodeAsync()
はオプションではありません。 (I/O)Stream
はサウンドファイルの内容でしか取得できません。AudioGraphはストリームを再生できますか?
AudioGraph
に入力ストリームを使用するよう設定する方法はありますか?
ありがとうございます!
このようなストリームを入力として使用するようにAudioGraphを設定する方法はありますか?
クラスには、「デバイス入力ノード」、「ファイル入力ノード」、「オーディオフレーム入力ノード」の3種類の入力ノードがあります。残念ながらストリーム入力ノードは必要ありません。ストリームをStroageFile
に変換してからCreateFileInputNodeAsync()
メソッドを使用する必要があります。
AudioGraphはストリームを再生できますか?
StorageFile
クラスを使用せずにストリームを再生したい場合は、MediaPlayer
を使用することを検討してください。 IRandomAccessStream
からCreateFromStream
メソッドまでMediaSource
を作成する。たとえば:
XAMLコード:背後
<MediaPlayerElement x:Name="mediaplayer" AutoPlay="True"></MediaPlayerElement>
<Button x:Name="btnmedia" Click="btnmedia_Click" Content="media play"></Button>
コード:
private async void btnmedia_Click(object sender, RoutedEventArgs e)
{
...
Stream filestream = buffers.AsStream();
IRandomAccessStream randomAccessStream = filestream.AsRandomAccessStream();
MediaSource mediasource = MediaSource.CreateFromStream(randomAccessStream, "mp3");
MediaPlayer player = new MediaPlayer();
player.Source = mediasource;
mediaplayer.SetMediaPlayer(player);
}
はさらに、あなたがUWPアプリでStorageFile
クラスを使用することができないという奇妙です。これはファイルシステムにとって重要なクラスです。可能であれば、この制約を解決することを検討すべきだと思います。
ストリーム全体をメモリ内のバイナリバッファに読み込むことができると仮定して、AudioFrameOutputNodeを作成してストリームのバイナリコンテンツ全体に渡すことができます。
ストリームからの並行読み込みを調整し、AudioFrameOutputNodeにデータを供給する必要がある場合は、もっと複雑になりますが、まだ実行可能です。
ありがとうございました。オプションのように聞こえる。悲しいことに、箱から出ない。 –