Я видел несколько вопросов, подобных этому, но я хотел убедиться. Я не запускаю видео на своем эмуляторе. Это непротиворечиво? Кто-нибудь преуспел в запуске видео на эмуляторе?
Ниже приведен код, который я использую:
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
public class TTTTest extends Activity {
/** Called when the activity is first created. */
private MediaController mc;
VideoView vd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
vd = (VideoView) findViewById(R.id.VideoView);
Uri uri = Uri.parse("android.resource://" + getPackageName() + R.raw.samplevideo);
mc = new MediaController(this);
vd.setMediaController(mc);
vd.setVideoURI(uri);
vd.start();
}
}
"samplevideo" - это mp4 или 3gp (в обоих случаях его не работает)
main.xml выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<VideoView android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:id="@+id/VideoView"></VideoView>
</LinearLayout>
а манифест - по умолчанию. Может ли кто-нибудь сказать мне, есть ли у меня проблема с моим кодом? постскриптум Я запускаю эмулятор, используя среду Android 2.2.
У эмулятора есть проблемы с воспроизведением некоторых видеороликов, поэтому я всегда делал все тестирование видео на реальных устройствах. Когда видео работает на эмуляторе, он, как правило, чрезвычайно медленный (1fps, смещенный звук) в лучшем случае. Я также рекомендую не хранить видео в APK, но, я сказал, вам нужно еще одно слэш после имени вашего пакета:
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.samplevideo);