2013-04-19 2 views
0

Я новичок в разработке Android, сам преподаю, поэтому можно ожидать нескольких ошибок здесь и там, но никого так раздражает, как это. Я просмотрел свой код тысячу раз, искал высоко и низко на нескольких веб-сайтах, книгах и форумах для ответа, но я все равно получаю ту же ошибку, поэтому это последнее средство.MediaPlayer/VideoView не воспроизводит видео?

Я просто хочу воспроизвести жесткий путь к видео в мероприятии, которое является частью моего приложения для портфолио видео. (Hardcoded path предназначен только для тестирования, позже я буду называть каждое видео из соответствующего нажатия кнопки, но только после того, как я отформатирую проигрыватель!).

Вот мой код:

String path = "android.resource://mysite/res/raw/video1"; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_videoplayer); 

    VideoView view = (VideoView) this.findViewById(R.id.vv); 
    MediaController controller = (MediaController) new MediaController(this); 

    controller.setMediaPlayer(view); 
    view.setVideoPath(path); 
    view.requestFocus(); 
    view.start(); 
} 

Этот фрагмент кода находится внутри моего VideoPlayer класса, где ст является VideoView в XML и video1 является видео для воспроизведения. Видеоролик - h.264 mp4, 1 минута и 3 МБ, и его можно воспроизводить обычно через проигрыватель по умолчанию.

XML:

<VideoView 
    android:id="@+id/vv" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" /> 

Нагрузка активности, но возвращает ошибку "не может воспроизвести это видео".

Любая помощь, которую я очень ценю.

+0

Сообщение об ошибке здесь – Dilip

ответ

0
 VideoView view = (VideoView) this.findViewById(R.id.vv); 

     view.setVideoPath(path); 
     view.setMediaController(new MediaController(this)); 
     view.requestFocus(); 
     view.start(); 

Используйте вот так. надеюсь, это даст вам некоторое решение.

+0

Спасибо! Шаг в правильном направлении, теперь активность загружает видеоизображение, но затем падает при загрузке видеофайла вместо того, чтобы просто возвращать ошибку, ничего не делая. Я думаю, что это было слишком сложно. Я могу учиться на этом и сейчас корректировать свою деятельность. Почему, по вашему мнению, он падает при загрузке файла? Может ли путь быть неправильным или кодеки? Спасибо за вашу помощь. – Ollygrov

0

Согласно Android official documentation Поддержка декодирования видео для MP4 (h.264), добавленная в android 3.0+, поэтому я думаю, что вы играете это видео на версии ниже 3.0. Попробуйте это на устройстве, которое имеет версию android os версии 3.0+.

+0

Спасибо за ответ, я протестировал его на CM9 на моем HTC Desire (который, я считаю, основан на ICS) и 4.1.2 JB на моем GS3, поэтому они должны работать. Я действительно в тупике. Любые другие предложения? – Ollygrov

0

Попробуйте это ..

video0=(VideoView)findViewById(R.id.vv); 
video0.setMediaController(new MediaController(this)); 
video0.setVideoURI(Uri.parse("android.resource://" +getPackageName()+ "/" +R.raw.video1)); 
video0.requestFocus(); 
video0.start(); 
0

Пробовали ли вы
MediaController тс = новый MediaController (это); mc.setAnchorView (vv);

+0

Это не дает ответа на вопрос. Чтобы критиковать или запросить разъяснения у автора, оставьте комментарий ниже своего сообщения - вы всегда можете прокомментировать свои собственные сообщения, и как только у вас будет достаточно [репутации] (http://stackoverflow.com/help/whats-reputation), вы будете быть в состоянии [прокомментировать любое сообщение] (http://stackoverflow.com/help/privileges/comment). –

Смежные вопросы