錄音程式 - Android

Yuri avatar
By Yuri
at 2012-12-09T14:55

Table of Contents


最近教授給了我個題目
殊不知才寫第一題就卡到陰

是要寫一個錄音跟錄影的app

儲存權限設了
畫面可以跑出來 但是一按下按鈕可怕的事情就發生了
log cat : RunTimeException setAudioSourceFaild

以下是程式碼
package test.example.videorecorderactivity;


import java.io.File;
import java.io.IOException;

import android.app.Activity;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;

public class VideoRecorderActivity extends Activity {

private Button StartMediaRecord;
private Button StartSoundRecord;
private Button StopMediaRecord;
private Button StopSoundRecord;
private Button Exit;
private MediaRecorder mediaRecorder;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_recorder);

StartMediaRecord = (Button)findViewById(R.id.StartMediaRecord);
StartSoundRecord = (Button)findViewById(R.id.StartSounadRecord);
StopMediaRecord = (Button)findViewById(R.id.StopMediaRecord);
StopSoundRecord = (Button)findViewById(R.id.StopSoundRecord);
Exit = (Button)findViewById(R.id.Exit);
StartSoundRecord.setEnabled(true );
StopSoundRecord.setEnabled(false);
StartMediaRecord.setEnabled(true );
StopMediaRecord.setEnabled(false );
Exit.setEnabled(true );

mediaRecorder = null;

StartSoundRecord.setOnClickListener(new Button.OnClickListener(){

@Override
public void onClick(View v) {
String SoundRecordfileName = "SoundRecord.amr";

try {
//取得SD卡位置
File SDCardpath = Environment.getExternalStorageDirectory();
//SD卡位置下的/download目錄
File myDataPath = new File( SDCardpath.getAbsolutePath() + "/download" );
//判斷若資料夾不存在則新建download資料夾
if( !myDataPath.exists() ) myDataPath.mkdirs();

mediaRecorder = new MediaRecorder();
//設定音源為麥克風
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);

//設定輸出檔案格式為THREE_GPPRAW_AMR:3pg格式,H263視頻/ARM音頻編碼
//RAW_AMR:只支持音頻且音頻編碼要求維AMR_NB
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
//設定音頻文件的編碼
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
//設定輸出文件的路徑
File recodeFile = new File(SDCardpath.getAbsolutePath() +
"/download/"+SoundRecordfileName);
mediaRecorder.setOutputFile(recodeFile.getAbsolutePath());
mediaRecorder.prepare();
mediaRecorder.start();
}
catch (IOException e) {e.printStackTrace();}
}});
}
}



懇請各位大大救命
程式碼幾乎都是上網找資料打的
因為其實只有去補習班上過幾堂課翻翻書學過而已
學校並沒有開android的課程




--
Tags: Android

All Comments

Ivy avatar
By Ivy
at 2012-12-13T16:48
寫程式好像有專版..雖然我也忘記它叫什麼了
喔 androiddev
Carol avatar
By Carol
at 2012-12-17T17:56
感謝!!!!

自製程式-掌中小財神

Yedda avatar
By Yedda
at 2012-12-09T14:29
: 剛剛終於把程式更新囉!!! : 最近大樂透都沒有累積夠多獎金... : 威力彩又貴又不好中.... : 所以更新了功能XD, : 可以一進去就看到大樂透(跟威力彩)頭獎累積了多少~ : 也加了支援包牌的功能... : 威力彩第二區全包的話應該比較好中吧? : 當然也加了免費程式的好朋友....XD : 所 ...

關於LINE推出的Paladog

Lydia avatar
By Lydia
at 2012-12-09T14:15
Paladog原先是在IOS上... 最近該公司和LINE合作推出在ANDROID(以下簡稱AN= =) 我是拿AN手機啦... 所以當然也是在AN系統上~ 這幾天無聊去載到了黑暗板的Paladog 介面是IOS板的~ IOS板的Paladog是不是比AN板的少了些東西啊?? 我在IOS板的Palado ...

SONY TX 連接電腦後如何退出?

Blanche avatar
By Blanche
at 2012-12-09T13:24
如題 使用sony TX 會自動啟動Sony PC Companion 但傳輸完成資料後,如何安全退出呢? 沒有想一般隨身碟的退出選項... 是關掉後就可以直接拔除usb線了嗎? 請各位大大指教! 謝謝! - ...

手機筆電 通用 mind map推薦

Olivia avatar
By Olivia
at 2012-12-09T13:15
原本筆電是用 blumind 想在手機上看時~就得轉成圖片 但這樣就無法立即編輯 請推薦手機安卓與筆電win系統,通用的mind map軟體 大致上就是想畫流程圖之類 - ...

Line Tools 14 套免費生活實用小工具

Audriana avatar
By Audriana
at 2012-12-09T12:08
※ [本文轉錄自 iPhone 看板 #1Gn0wUAt ] 作者: zaeh (never give up) 看板: iPhone 標題: [iAPP] Line Tools 14 套免費生活實用小工具 時間: Sun Dec 9 12:07:55 2012 不得不承認我們最近已被Line越來越入侵平 ...