オーディオを録音および再生するアプリを開発しています (Cordova 2.1.0 を使用)。基本的に、音声リソースのリストと<audio>
タグがあります。ユーザーがリストの項目の 1 つをタップすると、リモート サーバー上のオーディオ ファイルへの URL がタグに追加され、再生されます。これは、最初はうまくいきます。
Media
Cordova のオブジェクトを使用して、ユーザーが新しいオーディオを録音できるようにするボタンもあります。メディアは録音され、AudioEncode プラグインを使用して AAC にエンコードされ、アップロードされます。リストが新しいオーディオ ファイルで更新されます。これもすべて意図したとおりに機能します。
ここで、Media オブジェクトを使用した後、オーディオ ファイルを再生しようとしましたが、失敗します。(ただし、オーディオを再生するために Media を使用していません。実際には Sencha Touch の を使用していAudio.play()
ます)。
iOS 5 では、プロセス全体が期待どおりに機能しました。iOS 6 にアップグレードした後、新しいオーディオを録音した後、オーディオが再生されません。誰かが同様の問題に遭遇しましたか? 解決策または回避策はありますか?
更新:Media.play()
最近、音声を録音 ( ) 後に再生してからアップロードすると、後続の音声ストリーミングに干渉しないことに気付きました。ただし、ユーザーがオーディオを録音し、再生せずにアップロードすると、その時点からすべてのオーディオ ストリーミングが中断されます。
これは、オーディオが適切に再生されたときにコンソールに表示されるものです。
[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)
[MPAVController] Autoplay: Enabling autoplay
[MPCloudAssetDownloadController] Prioritization requested for media item ID: 0
[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: Enabling autoplay
[MPCloudAssetDownloadController] Prioritization requested for media item ID: 0
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)
[MPAVController] Autoplay: Disabling autoplay for route change
[MPAVController] Autoplay: Disabling autoplay
[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: _streamLikelyToKeepUp: 0 -> 1
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)
(Plays audio here)
[MPAVController] Autoplay: Disabling autoplay
[MPAVController] Autoplay: Disabling autoplay for pause
[MPAVController] Autoplay: Disabling autoplay
[MPAVController] Autoplay: _streamLikelyToKeepUp: 1 -> 1
これは、失敗したときにコンソールに表示されるものです。
[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)
[MPAVController] Autoplay: Disabling autoplay for pause
[MPAVController] Autoplay: Disabling autoplay
[MPAVController] Autoplay: Enabling autoplay
[MPCloudAssetDownloadController] Prioritization requested for media item ID: 0
[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: Enabling autoplay
[MPCloudAssetDownloadController] Prioritization requested for media item ID: 0
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)
[MPAVController] Autoplay: Enabling autoplay
[MPAVController] Autoplay: _streamLikelyToKeepUp: 0 -> 1
[MPAVController] Autoplay: Skipping autoplay, disabled (for current item: 0, on player: 1)
[MPAVController] Autoplay: Disabling autoplay for pause
[MPAVController] Autoplay: Disabling autoplay