Android から Soundcloud ストリームを再生しようとして同じ問題が発生しました。
私にとってそれを修正したのは、次のアクセス許可を AndroidManifest.xml に追加することでした
<permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.INTERNET" />
<permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
私にとって、それは手のひらの瞬間でした。これが私のメディアプレーヤーの実装です。
私のメディアプレーヤーには、実装するクラスがあります
MediaPlayer.OnPreparedListener
そのクラスでは、次のコードを使用して MediaPlayer をセットアップします。
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try{
mMediaPlayer.setDataSource("http://api.soundcloud.com/tracks/7399237/stream?client_id=XXX");
}catch (IllegalArgumentException e){
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mMediaPlayer.prepareAsync();
コールバックでonPrepared
は、ストリームの再生を開始するだけです。
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mMediaPlayer.start();
}