ВидеоВью проблема на андроид - PullRequest
1 голос
/ 02 ноября 2010

Я работаю над видеоплеером в Android. Когда я создал держатель поверхности в методе create, он не был создан. Но когда я создал держатель поверхности в методе onclick кнопки, он создал,

preview=(VideoView)findViewById(R.id.surface);
    preview.setEnabled(true);
    preview.bringToFront();
    holder=preview.getHolder();
    holder.setFixedSize(400, 400);

    mp=new MediaPlayer(); 
    mp.setDataSource("path");
    mp.setDisplay(holder);
    mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mp.setOnBufferingUpdateListener(playerActivity.this);
    mp.setOnPreparedListener(playerActivity.this);
    mp.prepare();
    mp.start();

1 Ответ

1 голос
/ 28 октября 2011
mp.prepare();
mp.start();

prepare () является асинхронным, что означает, что он может не завершиться, когда вы уже вызываете mp.startЧто вы подразумеваете под «поверхность не создана»?Ты имеешь в виду, что видео не воспроизводится?В любом случае, вы должны использовать MediaPlayer.OnPreparedListener и запустить носитель в onPrepared().

...