播放应用的资源文件需要两步: 1:调用MediaPlayer的create(Context context,int resid)方法,加载指 定资源文件; 2:调用MediaPlayer的start()、stop()、pause()等控制播放方法;
实例代码:
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.sound); mediaPlayer.start();1:调用Context的getAsserts()方法,获取应用的AssetManager; 2:调用AssetManager的openFd(String fileName)打开指定的原生资源,该方法返回AssetFileDescriptor ; 3:调用AssetFileDescriptor 的getFileDescriptor()、getStartOffset()、getLength()获取音频文件的FileDescriptor、开始位置、长度; 4:创建MediaPlayer对象,并调用MediaPlayer对象的setDataSource(FileDescriptor fd, long offset, long length)来装载音频资源; 5:调用MediaPlayer的prepare()准备音频; 6:调用MediaPlayer的start(),stop(),pause()控制音频的播放;
实例代码:
AssetManager assetManager = getAssets(); AssetFileDescriptor afd = assetManager.openFd("music"); FileDescriptor fd = afd.getFileDescriptor(); MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource(fd,afd.getStartOffset(), afd.getLength()); mediaPlayer.prepare(); mediaPlayer.start();1:创建MediaPlayer对象,并调用MediaPlayer对象的setDataSource(String path)装载指定的音频文件; 2:调用MediaPlayer对象的prepare()方法准备音频; 3:调用MediaPlayer对象的start()、stop()、pause()等方法控制音频的播放;
实例代码:
File file = new File("/mnt/sdcard/sound.mp4"); MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource(file.getAbsolutePath()); mediaPlayer.prepare(); mediaPlayer.start();播放来自网络的音频文件有两种方式: 1:直接调用MediaPlayer的静态方法create(Context context, Uri uri); 2:调用MediaPlayer的setDataSource(Context context, Uri uri)装载指定Uri对应的Uri文件;
以第二种方式播放来自网络的音频文件的步骤如下: 1:根据网络上的音频文件所在的位置创建Uri对象; 2:创建MediaPlayer对象,并调用MediaPlayer对象的setDatasetDataSource(Context context, Uri uri)方法装载Uri对应的音频文件; 3:调用MediaPlayer对象的prepare()方法准备音频; 4:调用MediaPlayer对象的start()、stop()、pause()等方法控制音频的播放;
实例代码:
Uri uri = Uri.parse("http://127.0.0.1:8080/myserver/sound.mp4"); MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setDataSource(this, uri); mediaPlayer.prepare(); mediaPlayer.start();