У меня есть проблема с использованием объекта MediaPlayer, и у меня нет особого успеха. Если я добавлю звуковой ресурс в мою необработанную папку и вызову его, используя значение int в R, он будет работать нормально. Но я хочу быть в состоянии извлечь вещи из URL.
Согласно всей документации я прочитав setDataSource (), следует принять строковый параметр с URL-адресом файла.
Я продолжаю получать исключение ввода-вывода для оператора prepare (). Я даже пытался скопировать файл локально, но все еще без кубиков.
У кого-нибудь есть идеи?
MediaPlayer mp = new MediaPlayer();
try {
mp.setDataSource("http://www.urltofile.com/file.mp3");
mp.prepare();
mp.start();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Попробуйте MediaPlayer.create (), вы также можете запустить его только после того, как проигрыватель действительно будет готов, например:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MediaPlayer player = MediaPlayer.create(this, Uri.parse("http://www.urltofile.com/file.mp3"));
player.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
}