2015-01-02 2 views
0

Кто-нибудь мне помогает. Я готовлю приложение для интеграции видео в него. Сохранено видео в папке res/raw. Формат видео .mp4. Рабочий уровень api-21. Он работает над устройствами Android для Android версии 2.2, но не на 4+. Вот мой код: Java:VideoView android не работает над версией для Android 4+

import android.net.Uri; 
import android.os.Bundle; 
import android.support.v7.app.ActionBarActivity; 
import android.widget.MediaController; 
import android.widget.VideoView; 

public class Gift extends ActionBarActivity { 

    MediaController mediaController; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.gift); 
     VideoView myVideoView = (VideoView) findViewById(R.id.videoView); 


     Uri uri= Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.sidbday); 
     mediaController = new MediaController(this); 
     myVideoView.setMediaController(mediaController); 
     myVideoView.setVideoURI(uri); 
     myVideoView.start(); 
    } 
} 

XML:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

<VideoView 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:id="@+id/videoView"/> 

</RelativeLayout> 
+0

Когда я нажимаю кнопку воспроизведения, чтобы воспроизвести видео, появляется сообщение «К сожалению, видео остановилось». – Anonymous

ответ

0

Это сообщение отображается, когда база не готова воспроизводить видео еще. Вы можете начать свой видео после того, как onPrepared метод называется: вместо myVideoView.start(); использовать

video.setOnPreparedListener(new OnPreparedListener() { 

     @Override 
     public void onPrepared(MediaPlayer mp) { 
      myVideoView.start(); 
     } 
    }); 

EDIT я не заметил, что это старая тема, но, может быть, кто-то hepls.

+0

onPrepared даже не звоните. Кто-нибудь решил это? –