package com.gdqy.hxy.login;
import android.app.Activity;
import android.content.Context;
import android.content.res.AssetFileDescriptor;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import java.io.File;
import java.io.IOException;
public class MainActivity extends Activity {
private SurfaceView mSurfaceView;
private MediaPlayer mMediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSurfaceView = (SurfaceView) findViewById(R.id.main_id_SV);
mSurfaceView.getHolder().setKeepScreenOn(true); //keepScreenOn属性保持屏幕常亮
mSurfaceView.getHolder().addCallback(new SurfaceViewLis()); //添加回调函数
mMediaPlayer = new MediaPlayer(); //必须在surface创建后才能初始化MediaPlayer,否则不会显示图像
}
private class SurfaceViewLis implements SurfaceHolder.Callback{
@Override
public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
}
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder) {
try{
play();
}catch (Exception e){
e.printStackTrace();
}
}
@Override
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
}
}
//播放背景视频方法
private void play() throws IOException {
AssetFileDescriptor mAssetFileDescriptor = this.getAssets().openFd("audio_back.3gp");
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); //设置视频流的类型
mMediaPlayer.setDisplay(mSurfaceView.getHolder());
mMediaPlayer.setDataSource(mAssetFileDescriptor.getFileDescriptor(),
mAssetFileDescriptor.getStartOffset(),mAssetFileDescriptor.getLength());
mMediaPlayer.setLooping(true);//是否循环播放
//异步加载视频图像
mMediaPlayer.prepareAsync();
mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
//装载完毕
mMediaPlayer.start();//播放视频
}
});
}
}
请问大神为什么不会播放视频 是哪错了