Android SDK は、MediaPlayer、SoundPool、AudioTrack という 3 セットのオーディオ再生 API を提供します。簡単に言えば、MediaPlayer は、ローカルの音楽ファイルやオンライン ストリーミング リソースをバックグラウンドで長時間再生するのに適しています。SoundPool は、ゲーム サウンド、ボタン サウンド、着信音クリップなどの比較的短いオーディオ クリップの再生に適しています。複数のオーディオを同時に再生できます。AudioTrack は最下層に近く、非常に強力な制御機能を提供し、低遅延再生をサポートし、ストリーミング メディアや VoIP 音声通話などのシナリオに適しています。
1. 音声の再生
MediaPlayer は、さまざまな一般的なメディア タイプの再生をサポートする Android マルチメディア フレームワークで、オーディオ、ビデオ、画像をアプリケーションに簡単に統合できます。MediaPlayer API を使用すると、アプリケーション リソース (未加工リソース) 内に保存されているメディア ファイル、ファイル システム上のスタンドアロン ファイル、またはネットワーク接続経由で取得したデータ ストリームからオーディオまたはビデオを再生できます。
String url = "http://........"; // your URL here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare(); // might take long! (for buffering, etc)
mediaPlayer.start();
2. プロセス分析
MediaPlayer.start
ソースの場所: /frameworks/base/media/java/android/media/MediaPlayer.java