你好,我希望不要打扰,但我是开发程序的新手。
我正在尝试在活动中播放视频,但我总是黑屏。
我的视频是使用ffmpeg创建的mp4 h264,使用android配置文件并在quicktime中播放并设置为res / raw / corsolex_1.mp4
我附上我正在写的代码,以了解我想要做的事情,如果有人可以提供帮助,我会非常感激。
安吉洛
此活动称为Clipvideo1
package com.wocmultimedia.VideoEditLesson1;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
public class Clipvideo1 extends Activity {@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.clip1);
// Put the media file into the res/raw folder of your application
MediaPlayer mp = MediaPlayer.create(this, R.raw.corsolex_1);
mp.start();
}}
这是名为clip1.xml
的XML布局<FrameLayout android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<VideoView android:id="@+id/videoView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></VideoView>
</FrameLayout>
答案 0 :(得分:2)
您不会以某种方式将视频链接到VideoView。
所以当你看到uri有3个部分时:
“corsolex_1”是您视频的名称
也许这段代码有帮助:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.clip1);
VideoView videoView = (VideoView) findViewById(R.id.videoView1);
Uri videoPath = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.corsolex_1);
videoView.setVideoURI(videoPath);
videoView.requestFocus();
videoView.start();
}
答案 1 :(得分:0)
VideoView是SurfaceView的子类,它包含和管理MediaPlayer对象。在XML文件中,您声明 VideoView ,并在Java代码中创建和管理 MediaPlayer 对象。它们是分开的,代码中它们之间没有关系。所以你有两个选择: