androidwakelock_Android音频播放时wakelock的实现
音频播放时
wakelock
的实现
作者
:Macro Liu
功能描述
:
当播放音乐时,按电源键只需要进入
early suspend,
以保持音乐播放状态。
实现方法
:
在上层和内核都加
wakelock
保证机器不会休眠。
测试发现如果只在内核加
wakelock,
当
early suspend
时,
上层会进入
suspend
,
不再处理音量键,所以不能控制音量。
相关代码
:
休眠字符串名字为
”
AudioOutLock
”
Framework
层
:
device\samsung\proprietary\libaudio\AudioHardware.cpp
只要音乐播放状态时,会执行
write
函数,写入音频数据
,
所以在此函数处加
wakelock.
AudioHardware::AudioStreamOutALSA::write
{
…
AutoMutex hwLock(mHardware->lock());
LOGD("AudioHardware pcm playback is exiting standby.");
acquire_wake_lock (PARTIAL_WAKE_LOCK, "
AudioOutLock
");
…
}
当
停
止
音
乐
时
,
会
进
入
doStandby_l
,
关
闭
音
频
硬
件
,
所
以
在
这
里
加
release_wake_lock
以释放
wakelock
void AudioHardware::AudioStreamOutALSA::doStandby_l()
{
mStandbyCnt++;
if (!mStandby) {
LOGD("AudioHardware pcm playback is going to standby.");
release_wake_lock("
AudioOutLock
");
mStandby = true;
}
androidwakelock_Android音频播放时wakelock的实现相关推荐
- CSS动画实现音频播放时柱状波动效果
通过CSS的动画属性animation可以实现音频播放时的动画效果,同时配合JS操作动画的animation-play-state属性,来控制动画的暂停和播放. 网页布局采用的flex布局.若在客户端 ...
- 音频播放时,将前台服务和通知栏关闭
正在播放音频下,退出登录或被挤下线等情况下,就要遇到下列情况 问题:播放时设置服务前台运行,创建一个消息通知栏 service.startForeground(NOTIFICATION_ID, new ...
- android 音频播放时小喇叭动画
drawable 目录下创建button_play_animation.xml 动画 <?xml version="1.0" encoding="utf-8&quo ...
- 音频播放时小喇叭动画
drawable 目录下创建button_play_animation.xml 动画 <?xml version="1.0" encoding="utf-8&quo ...
- java 上传mp3文件大小,Java获取音频文件(MP3)的播放时长
最近的一个项目需要按照时间播放mp3文件,例如,播放10分钟的不同音乐. 这就意味着我得事先知道mp3文件的播放时长,以决定播放几遍这个文件. 方案一:Java的方式 找第三方的库,真的感谢这些提供j ...
- 微信小程序-音频播放-wx.createInnerAudioContext() 每次都是重复播放同一条录音
前言 在调试微信小程序音频播放时,刚开始我也是直接复制官方文档的实例: const innerAudioContext = wx.createInnerAudioContext() innerAudi ...
- android 音频播放过程,一种Android系统中的音频播放方法与流程
本申请涉及android系统技术,特别涉及一种android系统中的音频播放方法. 背景技术: 在android系统中,现有的使用audiotrack进行音频播放时,audiotrack应用与andr ...
- uniapp实现微信小程序音频播放倒计时的功能,类似微信语音条
uniapp实现微信小程序音频播放功能 最近需要有个项目需要用到音频播放,第一个想到的是audio标签,但是查阅了uniapp官方文档,发现audio组件已经不维护了. 官网推荐使用uni.creat ...
- 微信小程序-音频播放 每次都是重复播放同一条录音
前言 在调试微信小程序音频播放时,刚开始我也是直接复制官方文档的实例: const innerAudioContext = wx.createInnerAudioContext() innerAudi ...
最新文章
- TypeError: ord() expected string of length 1, but int found
- svm c++实现_机器学习笔记——SVM向量机
- 如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib
- 管理已“死”,经营为王时代来临
- 物联网面临的7大网络安全威胁
- 网络推广方案中解析SEO优化文章的标题设置技巧
- ueditor版本python3_GitHub - crazyinstall/DjangoUeditor3: Django Ueditor 兼容Python3改进,Python2上也可用...
- POJ 3104 Drying [二分 有坑点 好题]
- UVa 10635 (LIS+二分) Prince and Princess
- php中创建函数的正确方法,如何在PHP中创建一个函数
- 神经网络动态可视化工具
- SSD---系统架构
- ORCA(Optimal Reciprocal Collision Avoidance)笔记
- 织梦CMS插件合集覆盖几十插件功能采集推送等
- 2019拼多多前端笔试题
- 帧定格(用于定格画面添加字幕或者图片)
- usaco#2018#January#Silver
- [最新]Myeclipse 10.7.1 激活工具及过程详解 亲测
- ASEMI代理ON/安森美FGH40N60SMD原厂渠道车规级IGBT
- 使用animate库