首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

对音频文件的操作 录音跟播放

2012-09-08 
对音频文件的操作 录音和播放录音,并且把录影文件放在了外存储设备sdcard中:package com.quding.widget.mu

对音频文件的操作 录音和播放

录音,并且把录影文件放在了外存储设备sdcard中:

package com.quding.widget.musicplayer;import java.io.IOException;import android.app.Service;import android.content.Intent;import android.content.res.AssetFileDescriptor;import android.content.res.AssetManager;import android.media.MediaPlayer;import android.os.Bundle;import android.os.IBinder;import android.util.Log;public class MusicPlayerService extends Service{private MediaPlayer player;private AssetFileDescriptor asserAssetFileDescriptor;@Overridepublic IBinder onBind(Intent intent) {return null;}@Overridepublic void onCreate() {super.onCreate();AssetManager assetManager = this.getAssets();   //获得一个assert资源管理器的实例try {    asserAssetFileDescriptor = assetManager.openFd("run_with_myself.mp3");   //获取一个raw资源} catch (IOException e) {e.printStackTrace();}player = new MediaPlayer();   //播放assert中的文件//player = MediaPlayer.create(getApplicationContext(), R.raw.run_with_myself);     //这个是播放raw中的音频文加?//player = new MediaPlayer();     //播放sdcard中的文件//try {//player.setDataSource("/sdcard/sound1.arm");   //指明路径//player.prepare();   //装载音频文件//} catch (Exception e) {//e.printStackTrace();//}Log.i("tag", "service已经存在");}@Overridepublic void onStart(Intent intent, int startId) {super.onStart(intent, startId);if(intent != null){Log.i("tag", intent.getData().toString());int operator = Integer.parseInt(intent.getData().toString()); //operate带着具体的操作信息switch (operator) {case 1 :    //打开playMusic();break;case 2 ://暂停pauseMusic();break;case 3 ://停止stopMusic();break;}}}private void playMusic() {if(player != null && !player.isPlaying()){try {//设置资源player.setDataSource(asserAssetFileDescriptor.getFileDescriptor(),asserAssetFileDescriptor.getStartOffset(),asserAssetFileDescriptor.getLength());player.prepare(); //加载资源player.start();Log.i("tag", "播放音乐");} catch (Exception e) {e.printStackTrace();} }}private void pauseMusic(){if(player != null && player.isPlaying()){player.pause();Log.i("tag", "暂停");}}private void stopMusic(){player.stop();Log.i("tag", "停止");try {player.reset();   //使mediaPlayer会回到初始化之前的地方,需要重新加载文加,player.setDataSource(asserAssetFileDescriptor.getFileDescriptor(),asserAssetFileDescriptor.getStartOffset(),asserAssetFileDescriptor.getLength());player.prepare(); //加载资源Log.i("tag", "重新加载文件");} catch (IOException ex) {ex.printStackTrace();}}}

?

热点排行