我想使用mediaPlayer创建一个简单的视频播放器..所以我做了下面给出的代码。但我在这里遇到问题,因为视频不可见,但音频正在播放。 在我的XML文件中,我使用了一个简单的VideoView。
package com.Android.Simple;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.widget.VideoView;
public class SimpleVideoPlayerActivity extends Activity {
private VideoView _UIVideo;
SurfaceHolder _videoHolder;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.simple_video_view);
_UIVideo = (VideoView) findViewById(R.id.VVSimpleVideo);
MediaPlayer _mediaPlayer;
String _path = "/sdcard/abc.3gp";
_videoHolder = _UIVideo.getHolder();
try {
_mediaPlayer = new MediaPlayer();
_mediaPlayer.setDataSource(_path);
_mediaPlayer.setDisplay(_videoHolder);
_mediaPlayer.prepare();
_mediaPlayer.start();
} catch (Exception e) {
}
}
和清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.Android.Simple"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".SimpleVideoPlayerActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<VideoView
android:id="@+id/VVSimpleVideo"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
答案 0 :(得分:3)
Try this Code
VideoView videoView = (VideoView)this.findViewById(R.id.videoView);
MediaController mc = new MediaController(this);
mc.setAnchorView(videoView);
mc.setMediaPlayer(videoView);
videoView.setMediaController(mc);
videoView.setVideoPath(path);
videoView.requestFocus();
videoView.start();
答案 1 :(得分:2)
可以显示您的清单文件吗?添加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
答案 2 :(得分:2)
在Android开发者网站上,你有一个非常简单的演示:
将您的布局更改为:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<SurfaceView android:id="@+id/surface"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
</SurfaceView>
</LinearLayout>
并开始这样的活动:
Intent i = new Intent(getApplicationContext(), MediaPlayerDemo_Video.class);
i.putExtra("path", path);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);