当前位置: 首页 > news >正文

注册个体可以做网站吗深圳全网推广效果如何

注册个体可以做网站吗,深圳全网推广效果如何,网站怎么添加假备案号,移动电子商务平台就是手机网站本文目录 点击直达 Android 开发一个耳返程序程序编写1. 配置 AndroidManifast.xml2.编写耳返管理器3. 录音权限申请4. 使用注意 最后我还有一句话要说怕相思,已相思,轮到相思没处辞,眉间露一丝 Android 开发一个耳返程序 耳返程序是声音录入…

本文目录 点击直达

  • Android 开发一个耳返程序
    • 程序编写
      • 1. 配置 `AndroidManifast.xml`
      • 2.编写耳返管理器
      • 3. 录音权限申请
      • 4. 使用
      • 注意
  • 最后我还有一句话要说
      • 怕相思,已相思,轮到相思没处辞,眉间露一丝

Android 开发一个耳返程序

耳返程序是声音录入设备实时播放的一种程序,理论上实现方案是通过手机录音功能录制音频的同时播放音频,这样就可以简单达到耳返的目的。

分析完毕之后通过了解Android官方API和文档,决定采用AudioRecord/AudioTrack的方式实现简单的PCM编码录制和播放来实现耳返,接下来我们直接进入正题

程序编写

1. 配置 AndroidManifast.xml

录音需要使用录音权限,将以下代码写入AndroidManifast.xml文件中

    <uses-permission android:name="android.permission.RECORD_AUDIO" />

效果如下
配置权限

2.编写耳返管理器

这里我们创建一个类IEMSManager.kt,用来处理音频录制和播放

object IEMSManager {//录音来源使用通话语音,这样可以防止啸叫的同时拥有系统降噪private const val AUDIO_SOURCE = MediaRecorder.AudioSource.VOICE_COMMUNICATION// 采样频率:44100Hz是唯一目前所有Android设备都保证支持的采样频率private const val SAMPLE_RATE = 44100// 音频通道使用双声道输入private const val CHANNEL_IN = AudioFormat.CHANNEL_IN_STEREO// 音频通道使用双声道输出private const val CHANNEL_OUT = AudioFormat.CHANNEL_OUT_STEREO// PCM 16bits每个样本,所有设备保证支持private const val AUDIO_FORMAT = AudioFormat.ENCODING_PCM_16BIT// 录音时音频数据写入的buffer的大小private var recordBufferSize = AudioRecord.getMinBufferSize(SAMPLE_RATE, CHANNEL_IN, AUDIO_FORMAT)// 播放时音频数据读取的buffer的大小private val trackBufferSize =AudioTrack.getMinBufferSize(SAMPLE_RATE, CHANNEL_OUT, AUDIO_FORMAT);//构建描述音频属性的对象private val attributes by lazy {AudioAttributes.Builder()//设置音频流的用途属性.setUsage(AudioAttributes.USAGE_ASSISTANT)//设置音频内容属性.setContentType(AudioAttributes.CONTENT_TYPE_SPEECH).build()}//构建描述音频格式的对象private val format = AudioFormat.Builder()//设置采样频率.setSampleRate(SAMPLE_RATE)//设置音频格式的编码方式.setEncoding(AUDIO_FORMAT)//设置通道掩码.setChannelMask(CHANNEL_OUT).build()//控制耳返的状态private var isRunning = false//音频录制器,可以录制音频裸数据PCMprivate var audioRecorder: AudioRecord? = null//音频播放器,支持PCM裸数据渲染private var audioTrack: AudioTrack? = null@RequiresPermission(android.Manifest.permission.RECORD_AUDIO)fun start() {if (isRunning) returnisRunning = true//初始化音频录制器audioRecorder = AudioRecord(AUDIO_SOURCE,SAMPLE_RATE,CHANNEL_IN,AUDIO_FORMAT,recordBufferSize)//初始化音频播放器audioTrack = AudioTrack(attributes,format,trackBufferSize,AudioTrack.MODE_STREAM,AudioManager.AUDIO_SESSION_ID_GENERATE)//开启线程thread {//创建字节数组存储PCM的二进制数据val data = ByteArray(recordBufferSize)//开始录制audioRecorder?.startRecording()//开始播放audioTrack?.play()while (isRunning) {//录音数据是根据录制缓冲区大小试试读取的val byteSize = audioRecorder?.read(data, 0, recordBufferSize) ?: 0//检查到录制数据正常if (byteSize >= AudioRecord.SUCCESS) {//AudioTrack实时渲染刚刚录制的部分audioTrack?.write(data, 0, byteSize)}}//释放资源audioRecorder?.stop()audioRecorder?.release()audioTrack?.stop()audioTrack?.release()audioRecorder = nullaudioTrack = null}}fun stop() {isRunning = false}
}

3. 录音权限申请

在使用耳返功能前,需要检查权限,并且授予RECORD_AUDIO权限,否则会闪退

            if (ActivityCompat.checkSelfPermission(this,Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) {requestPermissions(arrayOf(Manifest.permission.RECORD_AUDIO), 0x1)return@setOnClickListener}

4. 使用

代码已经编写完成,只需要调用IEMSManager.kt使用即可听到自己发出的声音

IEMSManager.start()
IEMSManager.stop()

注意

因为使用通话的双通道麦克风实现了降噪,所以使用时可能声音较小,如果没有声音,请将声音调到最大,然后凑近麦克风吼两句"感谢博主,我会一键三连的"

最后我还有一句话要说

怕相思,已相思,轮到相思没处辞,眉间露一丝

明·俞彦《长相思·折花枝》

http://www.ds6.com.cn/news/64508.html

相关文章:

  • 电子商务网站开发公司优化营商环境心得体会个人
  • 做英文简历的网站地推接单正规平台
  • 校园网站建设培训百度一下电脑版网页
  • dreamweaver网站教程全国互联网营销大赛官网
  • 全球十大网站排名免费发布推广平台
  • 怎样打开用sql做的网站如何制作企业网站
  • 曲靖网站建设0doit网站建设策划书案例
  • 广州华优_网站建设公司优化清理大师
  • 企业网站建设制作公司哪家好成都网站关键词推广
  • 邯郸城乡建设部网站首页天津网站建设优化
  • 宁波住房和城乡建设官网东莞seo排名外包
  • 大学生怎么做网站支付模块深圳开发公司网站建设
  • 做消防哪些网站找工作新站优化案例
  • 帮人做违法网站seo挂机赚钱
  • 如何自己学做网站北京关键词优化平台
  • 沙漠风网站建设百度账号客服人工电话
  • 医院网站建设利法拉网络成都网站优化排名
  • 网站开发武汉公司知乎seo排名帝搜软件
  • 阜新公司做网站常德论坛网站
  • 河北公司网站制作设计系列推广软文范例
  • 林州网站建设服务关键字有哪些
  • 北京上云网站建设公司seo分析seo诊断
  • 网站开发必须要要掌握的语言在线优化网站
  • WordPress自适应扁平化网站seo搜索引擎优化案例
  • 网站布局怎么写shodan搜索引擎
  • 选择做网站销售的优势备案域名
  • 网站服务公司业务范围包括重庆seo网页优化
  • 捡个杀手做老婆全集免费网站找资源最好的是哪个软件
  • 哪个彩票网站做代理反水高东莞推广系统
  • 做资源分享网站沈阳关键词优化费用