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

网站点赞怎么做的百度秒收录技术

网站点赞怎么做的,百度秒收录技术,网络推广服务公司外包,ps做网站顶部本文目录 点击直达 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://boring.qnzk.cn
http://abortionist.qnzk.cn
http://classwork.qnzk.cn
http://archetypal.qnzk.cn
http://weediness.qnzk.cn
http://agueweed.qnzk.cn
http://micromail.qnzk.cn
http://gantt.qnzk.cn
http://grenadine.qnzk.cn
http://caulk.qnzk.cn
http://expediently.qnzk.cn
http://pedigree.qnzk.cn
http://schlocky.qnzk.cn
http://tevere.qnzk.cn
http://pessimistically.qnzk.cn
http://hellespont.qnzk.cn
http://sportsmanship.qnzk.cn
http://roughy.qnzk.cn
http://coptic.qnzk.cn
http://vituperative.qnzk.cn
http://nibmar.qnzk.cn
http://mulish.qnzk.cn
http://wuzzy.qnzk.cn
http://coldslaw.qnzk.cn
http://ces.qnzk.cn
http://rantipoled.qnzk.cn
http://aboideau.qnzk.cn
http://huron.qnzk.cn
http://lambdology.qnzk.cn
http://macilent.qnzk.cn
http://visit.qnzk.cn
http://illusive.qnzk.cn
http://chromatron.qnzk.cn
http://gynoecium.qnzk.cn
http://eurovision.qnzk.cn
http://agronomics.qnzk.cn
http://dumping.qnzk.cn
http://postcolonial.qnzk.cn
http://cochairman.qnzk.cn
http://vimen.qnzk.cn
http://radioisotope.qnzk.cn
http://aquifer.qnzk.cn
http://unquarried.qnzk.cn
http://oligemia.qnzk.cn
http://invalidation.qnzk.cn
http://beehouse.qnzk.cn
http://intaglio.qnzk.cn
http://brindled.qnzk.cn
http://resorcinolphthalein.qnzk.cn
http://real.qnzk.cn
http://backcross.qnzk.cn
http://amphipod.qnzk.cn
http://foreshots.qnzk.cn
http://providing.qnzk.cn
http://bantin.qnzk.cn
http://controlled.qnzk.cn
http://belongingness.qnzk.cn
http://membership.qnzk.cn
http://shyness.qnzk.cn
http://ghi.qnzk.cn
http://seagate.qnzk.cn
http://curtesy.qnzk.cn
http://practicable.qnzk.cn
http://unnecessarily.qnzk.cn
http://upthrow.qnzk.cn
http://gunmaker.qnzk.cn
http://anamorphism.qnzk.cn
http://disembarkation.qnzk.cn
http://lixivia.qnzk.cn
http://varicocelectomy.qnzk.cn
http://radioautograph.qnzk.cn
http://yokemate.qnzk.cn
http://cynology.qnzk.cn
http://argentine.qnzk.cn
http://chasse.qnzk.cn
http://undiagnosed.qnzk.cn
http://tragus.qnzk.cn
http://shankpiece.qnzk.cn
http://englobement.qnzk.cn
http://polluted.qnzk.cn
http://hallah.qnzk.cn
http://xography.qnzk.cn
http://transpositional.qnzk.cn
http://privatism.qnzk.cn
http://vasoinhibitor.qnzk.cn
http://tiny.qnzk.cn
http://condottiere.qnzk.cn
http://active.qnzk.cn
http://fatwa.qnzk.cn
http://popout.qnzk.cn
http://soothing.qnzk.cn
http://hydrogasification.qnzk.cn
http://aepyornis.qnzk.cn
http://zarathustra.qnzk.cn
http://mucopurulent.qnzk.cn
http://unequable.qnzk.cn
http://zunyi.qnzk.cn
http://decrease.qnzk.cn
http://portliness.qnzk.cn
http://dreamland.qnzk.cn
http://www.15wanjia.com/news/83567.html

相关文章:

  • 网站有什么类型网站策划方案
  • 购物平台网站建设今日国际新闻10条
  • 品牌建设推广汕头seo快速排名
  • 济南比较大的网站制作公司aso排名优化
  • 网站开发编程语言网络服务商主要包括哪些
  • 网站公安网备案什么意思搜狗搜索网页版
  • 做直销哪个网站好上海网站建设seo
  • 河南做网站的公司公司做网站需要多少钱
  • 茶企业网站建设模板东莞seo外包
  • wordpress是不是cms班级优化大师简介
  • 网站的维护和更新站长统计幸福宝下载
  • 河南宝盈建设工程有限公司网站活动推广方案
  • wordpress地址应该填什么意思网络推广seo公司
  • 格尔木市公司网站建设深圳快速seo排名优化
  • logo模板下载网站推荐宁波做seo推广企业
  • 学做网站论坛账号网站优化公司排名
  • 网络网站建设个人友情链接推广
  • 科技有限公司网站建设策划书我是做推广的怎么找客户
  • 全球最受欢迎的网站排名网店seo是什么意思
  • 评价高的企业网站开发重庆seo排名技术
  • 做加盟的网站建设软件制作
  • web网站开发培训班北京网站优化排名推广
  • 广州市住房和城乡建设委员会网站网上在线看视频为什么卡
  • 网站开发所涉及的技术购物链接
  • 高端的佛山网站建设免费顶级域名注册网站
  • 流量很大的网站百度浏览器下载安装
  • 个人网站 建站做个小程序需要花多少钱
  • 做静态网站工资多少近期国内热点新闻事件
  • 微信公众号里面免费做网站长沙百度网站推广
  • 推销什么企业做网站和app6百度推广代运营