Я пишу приложение для Android для воспроизведения потокового вещания для издателя, который реализует веб-радио.
На уровне API 8 (Android 2.2) класс MediaPlayer может воспроизводить поток, поэтому:
Uri myUri = ....; // initialize Uri here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(getApplicationContext(), myUri);
mediaPlayer.prepare();
mediaPlayer.start();
В реальном приложении я использую prepareasync (), поэтому пользовательский интерфейс реагирует на ProgressDialog.
Но для этого примера метод prepare () приемлем.
Теперь ... на Android <2.2 (уровень API <8) медиаплеер не играет.на Android> = 2.2 (уровень API> = 8) проигрыватель медиаплеера, но не на всех устройствах.
Этот код работает на:
Nexus One (CyanogenMod 7, Android 2.3.x) SamsungGalaxy S (Stock Rom, Android 2.3.x) Samsung Galaxy S 2 (Stock Rom, Android 2.3.x) HTC Desire (Stock Rom, Android 2.3.x) Эмулятор HTC Desire HD (Stock Rom, Android 2.3.x) (Android)2.2) Asus eee Pad Transformer TF101 (Stock Rom, Android 4.0.3)
Этот код работает не на всех устройствах LG с Android> 2.2 ... но ... почему?
Как играть в shoutcast strem на устройствах LG?