MediaPlayer.setDataSource () и prepare () не работают - android

У меня есть проблема с использованием объекта 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();
    }
15
задан Kyle 20 August 2010 в 18:38
поделиться

1 ответ

Попробуйте 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();
        }
    });
}
21
ответ дан 1 December 2019 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: