[RK3288][Android6.0] 调试笔记 --- 关闭音频播放停止后进入Standby功能
来源:互联网 发布:js防止跨站脚本攻击 编辑:程序博客网 时间:2024/06/05 07:02
Platform: ROCKCHIP
OS: Android 6.0
Kernel: 3.10.92
Android系统默认播放停止后3秒会进入Standby模式以节省电源.
需求:
禁止进入Standby
HAL层虽然提供了Standby接口,但是不能直接屏蔽掉, 因为里面有pcm_close()
和播放的pcm_start()配对.
解决方法:
增加standby的延迟时间,默认3秒,可以改成一天或者更久.
[kris@:~/rk3288/frameworks/av]$ g df
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index 08fa70d..a5244d3 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -86,7 +86,7 @@ class ServerProxy;
// This is typically due to audio mixer and resampler limitations.
#define FCC_8 8 // FCC_8 = Fixed Channel Count 8
-static const nsecs_t kDefaultStandbyTimeInNsecs = seconds(3);
+static const nsecs_t kDefaultStandbyTimeInNsecs = seconds(60*60*24);
也可以通过property来设置:
void AudioFlinger::onFirstRef()
{
int rc = 0;
Mutex::Autolock _l(mLock);
/* TODO: move all this work into an Init() function */
char val_str[PROPERTY_VALUE_MAX] = { 0 };
if (property_get("ro.audio.flinger_standbytime_ms", val_str, NULL) >= 0) {
uint32_t int_val;
if (1 == sscanf(val_str, "%u", &int_val)) {
mStandbyTimeInNsecs = milliseconds(int_val);
ALOGI("Using %u mSec as standby time.", int_val);
} else {
mStandbyTimeInNsecs = kDefaultStandbyTimeInNsecs;
ALOGI("Using default %u mSec as standby time.",
(uint32_t)(mStandbyTimeInNsecs / 1000000));
}
}
mPatchPanel = new PatchPanel(this);
mMode = AUDIO_MODE_NORMAL;
}
OS: Android 6.0
Kernel: 3.10.92
Android系统默认播放停止后3秒会进入Standby模式以节省电源.
需求:
禁止进入Standby
HAL层虽然提供了Standby接口,但是不能直接屏蔽掉, 因为里面有pcm_close()
和播放的pcm_start()配对.
解决方法:
增加standby的延迟时间,默认3秒,可以改成一天或者更久.
[kris@:~/rk3288/frameworks/av]$ g df
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index 08fa70d..a5244d3 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -86,7 +86,7 @@ class ServerProxy;
// This is typically due to audio mixer and resampler limitations.
#define FCC_8 8 // FCC_8 = Fixed Channel Count 8
-static const nsecs_t kDefaultStandbyTimeInNsecs = seconds(3);
+static const nsecs_t kDefaultStandbyTimeInNsecs = seconds(60*60*24);
也可以通过property来设置:
void AudioFlinger::onFirstRef()
{
int rc = 0;
Mutex::Autolock _l(mLock);
/* TODO: move all this work into an Init() function */
char val_str[PROPERTY_VALUE_MAX] = { 0 };
if (property_get("ro.audio.flinger_standbytime_ms", val_str, NULL) >= 0) {
uint32_t int_val;
if (1 == sscanf(val_str, "%u", &int_val)) {
mStandbyTimeInNsecs = milliseconds(int_val);
ALOGI("Using %u mSec as standby time.", int_val);
} else {
mStandbyTimeInNsecs = kDefaultStandbyTimeInNsecs;
ALOGI("Using default %u mSec as standby time.",
(uint32_t)(mStandbyTimeInNsecs / 1000000));
}
}
mPatchPanel = new PatchPanel(this);
mMode = AUDIO_MODE_NORMAL;
}
1 0
- [RK3288][Android6.0] 调试笔记 --- 关闭音频播放停止后进入Standby功能
- [RK3288][Android6.0] 调试笔记 --- 修改boot.img后进入Recovery模式问题
- [RK3288][Android6.0] 调试笔记 --- 开机动画支持播放mp4视频功能
- [RK3288][Android6.0] 调试笔记 --- 开机视频无法播放
- [RK3288][Android6.0] 调试笔记 --- tts语音无法播放
- [RK3288][Android6.0] 调试笔记 --- 命令行播放音乐方法
- [RK3288][Android6.0] 音频调试方法小结
- [RK3288][Android6.0] 调试笔记 --- 移除锁屏功能
- [RK3288][Android6.0] 调试笔记 --- Su添加密码登陆功能
- [RK3288][Android6.0] 调试笔记 --- 关闭按键音后无法录音问题
- [RK3288][Android6.0] 调试笔记 --- 播放搜狐视频会Crash问题
- [RK3288][Android6.0] 调试笔记 --- 查看音乐播放对应的进程名
- [RK3288][Android6.0] 调试笔记 --- 播放GIF动画卡顿问题
- [RK3288][Android6.0] 调试笔记 --- RT5640播放时的Codec寄存器列表
- [RK3288][Android6.0] 按键(MediaButton)控制音乐播放功能
- [RK3288][Android6.0] 调试笔记 --- 调试串口的更换
- [RK3288][Android6.0] 调试笔记 --- 伪电池驱动添加
- [RK3288][Android6.0] 调试笔记 --- 普通串口的添加
- 【JavaEE】经典JAVA EE企业应用实战-读书笔记18
- ES6:箭头函数 Arrow Functions
- Java abstract和final
- linux vi中查找字符的方法
- Postgres create readonly account case
- [RK3288][Android6.0] 调试笔记 --- 关闭音频播放停止后进入Standby功能
- 携程2017春季招聘编程题
- android自定义控件状态
- ndroid性能优化之利用LeakCanary检测内存泄漏及解决办法
- MyEclipse、Eclipse、jdk、tomcat、jar文件对应版本问题
- jsp按钮点击时长
- MySQL存入图片+Qt读入读出数据库中的图片
- ActiveMQ API 详解
- PAT1028 人口普查