android 暂停其他app的声音_kOS(5):声音

在C/C++层,android向app接供了三种接口,MediaPlayer/MediaRecorder、AudioTrack/AudioRecord和opensles,kOS只要求后面两种。原因是kOS app不会直接访问这三种接口,而是调用Rose提供的两个开源库,SDL和webrtc,它们都不会用MediaPlayer/MediaRecorder。

注:以下的AudioTrack有时指AudioTrack/AudioRecord。

一、提供给app的核心api

由于调用者只会是SDL或webrtc,如何设计api就要根据SDL、webrtc已在使用的android访问声音方法。SDL用AudioTrack,webrtc支持或AudioTrack、或opoensles。相比android,kOS目标是剔除Java,webrtc已经可以用opoensles,这已是一套纯C接口。剩下要改的是SDL,须要把之前Java写的如何使用AudioTrack代码改成C/C++。

但是否真有必要为SDL写一套C/C++调用AudioTack的C api?opensles说白了就是C/C++调用AudioTack的api,加上它,kOS声音api就有两套了,这无疑让事情变得复杂。或许可以这么做,SDL去访问kOS声音时,直接基于opensles,这样一来kOS提供的声音api只有opensles。

还在犹豫是为SDL写一套C/C++调用AudioTack的C api,还是基于opensles。考虑到kOS项目进度,对声音先做到去Java,等kOS出来后再补上正确代码,毕竟对不少app,声音不是必要功能。注:声音代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值