編輯:關於Android編程
本文實例講述了android編程實現電話錄音的方法。分享給大家供大家參考。具體如下:
在清單文件AndroidManifest.xml中添加權限:
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> <!-- 在SDCard中創建與刪除文件權限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard寫入數據權限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.RECORD_AUDIO"/> <!-- 訪問internet權限 --> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
java代碼如下:
public class PhoneListenerService extends Service {
@Override
public void onCreate() {
TelephonyManager manager =
(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
//監聽電話的狀態
manager.listen(new MyListener(), PhoneStateListener.LISTEN_CALL_STATE);
}
private final class MyListener extends PhoneStateListener {
private String num;
private MediaRecorder recorder;
public void onCallStateChanged(int state, String incomingNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING: /* 電話進來時 */
num = incomingNumber;
break;
case TelephonyManager.CALL_STATE_OFFHOOK: /* 接起電話時 */
try {
File file = new File(Environment.getExternalStorageDirectory(), num + "_" + System.currentTimeMillis() + ".3gp");
recorder = new MediaRecorder();
recorder.setAudioSource(AudioSource.MIC);//聲音采集來源(話筒)
recorder.setOutputFormat(OutputFormat.THREE_GPP);//輸出的格式
recorder.setAudioEncoder(AudioEncoder.AMR_NB);//音頻編碼方式
recorder.setOutputFile(file.getAbsolutePath());//輸出方向
recorder.prepare();
recorder.start();
} catch (Exception e) {
e.printStackTrace();
}
break;
case TelephonyManager.CALL_STATE_IDLE: /* 無任何狀態時 */
if (recorder != null) {
recorder.stop();
recorder.release();
}
break;
}
}
}
}
希望本文所述對大家的Android程序設計有所幫助。
Android實現自定義的彈幕效果
一、效果圖先來看看效果圖吧~~二、實現原理方案1、自定義ViewGroup-XCDanmuView,繼承RelativeLayout來實現,當然也可以繼承其他三大布局類哈
簡單實現Android搜索功能 顯示清除歷史搜索記錄
本文主要為大家分享了Android實現搜索功能,並且可以實時顯示搜索的歷史記錄,根據輸入的內容去模糊查詢,供大家參考,界面圖如下。 本案例實現起來也非常的簡單,
Android 數據庫加密
一 簡介 SQLite是一個輕量的、跨平台的、開源的數據庫引擎,它的讀寫效率、資源消耗總量、延遲時間和整體簡單性上具有的優越性,使其成為移動平台數
AlertDialog創建6種對話框的用法
AlertDialog生成的對話框可分為4個區域:圖標區,標題區,內容區,按鈕區結構如圖:AlertDialog對話框的使用:1,創建AlertDialog.Builde