设为首页 加入收藏

TOP

Android--实现自制录音/播放录音程序(二)
2014-11-24 08:24:49 来源: 作者: 【 】 浏览:1
Tags:Android-- 实现 自制 录音 播放 程序
mMediaRecorder01 = null;
myTextView1.setText("停止:" + myRecAudioFile.getName());


myButton2.setEnabled(false);


isStopRecord = true;
}
}
});
/* 播放 */
myButton3.setOnClickListener(new ImageButton.OnClickListener()
{


@Override
public void onClick(View arg0)
{
// TODO Auto-generated method stub
if (myPlayFile != null && myPlayFile.exists())
{
/* 开启播放的程序 */
openFile(myPlayFile);
}


}
});
/* 除 */
myButton4.setOnClickListener(new ImageButton.OnClickListener()
{


@Override
public void onClick(View arg0)
{
// TODO Auto-generated method stub
if (myPlayFile != null)
{
/* 因将Adapter移除文件名 */
adapter.remove(myPlayFile.getName());
/* 删除文件 */
if (myPlayFile.exists())
myPlayFile.delete();
myTextView1.setText("完成删除");
}


}
});


myListView1.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView< > arg0, View arg1,
int arg2, long arg3)
{
/* 当有点选文件名时将删除及播放按钮Enable */
myButton3.setEnabled(true);
myButton4.setEnabled(true);


myPlayFile = new File(myRecAudioDir.getAbsolutePath()
+ File.separator
+ ((CheckedTextView) arg1).getText());
myTextView1.setText("你选的是:"
+ ((CheckedTextView) arg1).getText());
}
});


}


@Override
protected void onStop()
{
if (mMediaRecorder01 != null && !isStopRecord)
{
/* 停止录音 */
mMediaRecorder01.stop();
mMediaRecorder01.release();
mMediaRecorder01 = null;
}
super.onStop();
}


private void getRecordFiles()
{
recordFiles = new ArrayList();
if (sdCardExit)
{
File files[] = myRecAudioDir.listFiles();
if (files != null)
{


for (int i = 0; i < files.length; i++)
{
if (files[i].getName().indexOf(".") >= 0)
{
/* 读取.amr文件 */
String fileS = files[i].getName().substring(
files[i].getName().indexOf("."));
if (fileS.toLowerCase().equals(".amr"))
recordFiles.add(files[i].getName());


}
}
}
}
}


/* 开启播放录音文件的程序 */
private void openFile(File f)
{
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);


String type = getMIMEType(f);
intent.setDataAndType(Uri.fromFile(f), type);
startActivity(intent);
}


private String getMIMEType(File f)
{
String end = f.getName().substring(
f.getName().lastIndexOf(".") + 1, f.getName().length())
.toLowerCase();
String type = "";
if (end.equals("mp3") || end.equals("aac") || end.equals("aac")
|| end.equals("amr") || end.equals("mpeg")
|| end.equals("mp4"))
{
type = "audio";
} else if (end.equals("jpg") || end.equals("gif")
|| end.equals("png") || end.equals("jpeg"))
{
type = "image";
} else
{
type = "*";
}
type += "/*";
return type;
}
}


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android源码中编译自己的so库 下一篇Android Logcat的使用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python 数据分析与可 (2025-12-26 21:51:20)
·从零开始学Python之 (2025-12-26 21:51:17)
·超长干货:Python实 (2025-12-26 21:51:14)
·为什么 Java 社区至 (2025-12-26 21:19:10)
·Java多线程阻塞队列 (2025-12-26 21:19:07)