2016-09-26 14 views
0

私は非常に単純なアプリケーションを作成しました。これは動画のリストをループし、nodejsサーバからストリームします。Android MediaPlayerでac3をストリーミングするときに音声が聞こえない

Android MediaPlayer APIを使用して基本的な動画ストリーミングを設定するだけで、サラウンドサウンドを除いてすべてが機能します。

Dolby Digital(ac3)では、音声がまったく聞こえません。私はaac 5.1を試してオーディオを入手しましたが、それはステレオへのダウンコンバータでした。

public void setupVideoView(Uri videoAddress) { 
    emVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mediaPlayer) { 
      // Prepared Listener 
     } 
    }); 
    emVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() { 
     @Override 
     public boolean onError(MediaPlayer mp, int what, int extra) { 
      // Error Listener 
     } 
    }); 
    emVideoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
     @Override 
     public void onCompletion(MediaPlayer mediaPlayer) { 
      setupVideoView(Uri.parse(video_url)); 
     } 
    }); 
    emVideoView.setVideoURI(videoAddress); 
} 

私は何時間も検索しており解決策を見つけることができませんでした。私は、オーディオコーデックがサポートされていない場合、Androidが単にそれを通過させ、チェーンの他の何かがそれを解読できるようにすることを期待しています。多分私はそれがどのように機能するのか完全に理解していないでしょうか?どんな助けでも大歓迎です。

答えて

0

デバイスでオーディオコーデックが利用できない場合、Android MediaPlayerでデコードする方法はありません。 LibVLCはオーディオをLPCMに変換できます。また、ExoPlayerはオーディオの録音をサポートしていますが、もっと多くの労力が必要です。

+0

私はVLCでテストしたため、デバイスがサポートしていることがわかりました。 Ac3はそれでうまくいった。 – Euroclydon37

+0

デバイスとは何ですか? – Redshirt

+0

ソニー・ブラビアのテレビです。私はソニーレシーバーに接続している。また、Androidの開発者サイトにはaacが5.1サラウンドまでネイティブにサポートされていますが、ステレオのみが混乱してしまいます。 Ffmpegはファイルが5.1であることを確認します。 – Euroclydon37

関連する問題