您现在的位置是:主页 > news > 宜宾市城乡建设厅网站/58黄页网推广公司

宜宾市城乡建设厅网站/58黄页网推广公司

admin2025/5/17 20:58:27news

简介宜宾市城乡建设厅网站,58黄页网推广公司,微信企业官方网站怎么做,简单的管理系统分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!收到需求说要做语音通信,我去&am…

宜宾市城乡建设厅网站,58黄页网推广公司,微信企业官方网站怎么做,简单的管理系统分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!收到需求说要做语音通信,我去&am…

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

收到需求说要做语音通信,我去,要做个微信么,当然,我们做不到那个程度,先捣鼓下怎么录音吧。那么尝试做个示例。

 

 

 

看看录音的代码:

 

 mRecorder = new MediaRecorder();

 
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
 
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
 
mRecorder.setOutputFile(newFileName());
 
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
 
try {
 
mRecorder.prepare();
 
} catch (IOException e) {
 
Log.e(LOG_TAG, "prepare() failed");
 
}
 
mRecorder.start();
 

 代码的大概过程有:

 

1。设定声音来源。这里指定为 麦克风

 

2。指定输出格式 。

 

3。指定输出文件。

 

4. 指定音频编码格式。

 

5. 预备。

 

6. 启动录音。

 

 

 

配合启动录音的过程,就会有终止录音的过程,代码:

 

 mRecorder.stop();

 
mRecorder.release();
 
mRecorder = null;
 

结束,并释放资源。

 

 

 

---------

 

录音完成后,总得要听听吧。我们看播放的过程:

 

 mPlayer = new MediaPlayer();

 
try {
 
mPlayer.setDataSource(fileName);
 
mPlayer.prepare();
 
mPlayer.start();
 
} catch (IOException e) {
 
Log.e(LOG_TAG, "prepare() failed");
 
}
 

 这个,太简单了把。指定个数据源(要播放的文件)就可以了。

 

那么如何终止播放呢?

 

 mPlayer.release();

 
mPlayer = null;
 

好吧。我承认。这一切都太简单了。android 提供的十分强大的封装。 

 

 ------

 

贴出我封装好的 录音 和播放的 类。

 

 

 
class   SoundRecorder {    
  

 MediaRecorder mRecorder;

  
boolean isRecording;  

           public    void startRecording() {  
            mRecorder =    new MediaRecorder();  
            mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);  
            mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);  
            mRecorder.setOutputFile(newFileName());  
            mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);  
               try {  
                mRecorder.prepare();  
            }    catch (IOException e) {  
                Log.e(LOG_TAG, "prepare() failed");  
            }  
            mRecorder.start();  

        }  

           public    void stopRecording() {  
            mRecorder.stop();  
            mRecorder.release();  
            mRecorder =    null;  
        }  

           public String newFileName() {  
            String mFileName = Environment.getExternalStorageDirectory()  
                    .getAbsolutePath();  

            String s =    new SimpleDateFormat("yyyy-MM-dd hhmmss")  
                    .format(   new Date());  
               return mFileName += "/rcd_" + s + ".3gp";  
        }  
    } 
 
 

 

 

     

 
public   class   SoundPlayer {   
  

MediaPlayer mPlayer;

  

           public    void startPlaying(String fileName) {  
            mPlayer =    new MediaPlayer();  
               try {  
                mPlayer.setDataSource(fileName);  
                mPlayer.prepare();  
                mPlayer.start();  
            }    catch (IOException e) {  
                Log.e(LOG_TAG, "prepare() failed");  
            }  
        }  

           public    void stopPlaying() {  
            mPlayer.release();  
            mPlayer =    null;  
        }  
    } 
 
 

 

 

 

 

最后,提供源代码下载。 


<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述