How to correct the FileNotFoundException of audio files
オーディオデータを再生するためのサンプルアプリです。
ソリューションにwavフォーマットのオーディオファイルを追加します。
今回は「audio.wav」というファイルを追加しました。
このオーディオファイルを再生するだけのソースを書きます。
AppMain.cs
このままビルドして実行するとエラーが起きます。
System.IO.FileNotFoundException has been thrown
追加したオーディをファイルを右クリックして[ビルドアクション]-[コンテンツ]に設定します。
これでオーディオが再生できるようになりました。
ソリューションに複数のオーディオファイルを追加した場合は、それぞれのファイルを[ビルドアクション]-[コンテンツ]に設定する必要があります。
(画像データは追加するとビルドアクションが自動でコンテンツに設定されます)
ここまではSDKドキュメントに書いてあることです。
しかし、この手順通りに操作してもどうしてもオーディオを再生できないケースがありました。
SoundPlayer は、アシッダイズ(テンポ情報を埋め込んだwavファイル)はサポート外のようです。
アシッダイズのオーディオファイルを再生した場合もSystem.NotSupportedExceptionが起きます。
DAWでオーディオファイルを管理している開発者は特にご注意ください。DAWで扱うオーディオファイルはテンポ情報を埋め込んだ方が便利ですからね。
市販のオーディオ素材にもアシッダイズされたものがあるのでご注意ください。
Windows Media Playerで再生できるのにPS Suite SDKでSystem.NotSupportedExceptionが起きる場合は、アシッダイズされたオーディオファイルかもしれません。
Androidでオーディオデータを再生させるときの注意点も公開しています。
[Android] SoundPoolのオーディオ再生ミスをなくす
以上、参考になれば幸いです。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。