2013-12-09 4 views
8

Samsung Galaxy S3およびHTC Oneでオーディオ再生が正常にテストされましたが、Android 4.4搭載のLGE Nexus 4では重大な障害が発生しています。何分ものことが起こるのは、完璧な高音質のオーディオを数秒間聞くことができるということです。その後、数秒間の無音が続き、もう1つの短いオーディオが続き、その後、無音となります。だから、オーディオ・ストリーミング・ロジックが永遠のスタート・プレイ・アンダーラン・ストップ・ループに終わるようです。Deezer Android SDKを使用したLGE Nexus 4の永続的なオーディオスタッター

12-09 00:55:56.982 10842-14365/com.soundrop.android W/AudioTrack﹕ releaseBuffer() track 0x7b03f4e0 name=s:176;n:2;f:-1 disabled due to previous underrun, restarting 
12-09 00:55:57.583 10842-14367/com.soundrop.android W/AudioTrack﹕ releaseBuffer() track 0x7b03f4e0 name=s:176;n:2;f:-1 disabled due to previous underrun, restarting 
12-09 00:55:58.594 10842-14369/com.soundrop.android W/AudioTrack﹕ releaseBuffer() track 0x7b03f4e0 name=s:176;n:2;f:-1 disabled due to previous underrun, restarting 
12-09 00:55:59.595 10842-14371/com.soundrop.android W/AudioTrack﹕ releaseBuffer() track 0x7b03f4e0 name=s:176;n:2;f:-1 disabled due to previous underrun, restarting 
12-09 00:56:02.047 10842-14379/com.soundrop.android W/AudioTrack﹕ releaseBuffer() track 0x7b03f4e0 name=s:176;n:2;f:-1 disabled due to previous underrun, restarting 

これは、デバイス間の可能なオーディオバッファの違いについて考えるために私をリードし、私はいくつかのプロービングんでした:

HTC One (good playback): AudioTrack.getMinBufferSize(44100, STEREO, ENCODING_PCM_16BIT) => 16932 
LGE Nexus 4 (bad playback): AudioTrack.getMinBufferSize(44100, STEREO, ENCODING_PCM_16BIT) => 7056 

私を、私は次の警告がログに記録ご覧ので

毎秒かDeezer Android SDKは、報告された最小サイズの10倍のバッファサイズを選ぶように見えるため、この特定のデバイスでは小さすぎるバッファサイズを設定しているということです。

アップデート:getMinBufferSize()は、Androidの場合のように(< 4.4の場合のように)getMinBufferSize()が返す4.4のHTC Oneでオーディオスタッターを再現しました。したがって、この問題はデバイス固有の問題ではなく、KitKatで始まるOS固有の動作変更に関連しています。

+0

吃音を起こさずに新しいバージョンで再生するオープンソースの例が見つかるかどうかを確認し、自分が行っていることとは何かを理解できるかどうかを確認してください。 –

答えて

1

これは確かにAndroid 4.4のアップデートで発生した問題です。 AudioTrack実装の何かが変更され、これらのアンダーラン問題が発生しました。

私たちは現在、この問題の修正に取り組んでおり、できるだけ早くリリースする予定です。

+0

これに関するアップデートはありますか? – spartygw

+0

"Method Breakpoint"でデバッグ中にこの問題が発生していましたが、 – izzy

関連する問題