说明:视频只是我的项目碰到的问题,不代表你们的项目也会出现类似问题
歌曲:
try {
AssetManager assetManager=getAssets();
AssetFileDescriptor fileDescriptor = assetManager.openFd("a.mp3");
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource(fileDescriptor.getFileDescriptor(), fileDescriptor.getStartOffset(), fileDescriptor.getLength());
mediaPlayer.prepare();
mediaPlayer.start();
} catch (Exception e) {
}
视频:该方法在A23以上芯片可以播放avi mp4等格式的视频,但是在A23(A10 A13 A20)以下的芯片就不支持 只支持mp4格式视频 ,并且界面加载后才可以播放视频
AssetManager assetManager=getAssets();
AssetFileDescriptor fileDescriptor = assetManager.openFd("b.avi");
String url = "/mnt/sdcard/a.avi"; // 文件路径, 可以是一个网络资源
MediaPlayer player = new MediaPlayer(); // 创建播放器对象
player.setDisplay(videoSV.getHolder()); // 设置输出目的地
player.setDataSource(url);
//player.setDataSource(fileDescriptor.getFileDescriptor(), fileDescriptor.getStartOffset(), fileDescriptor.getLength());// 设置数据源
player.prepare(); // 准备, 可能需要一些时间, 同步方法
player.seekTo(position); // 将播放器移动到指定位置
player.start();