android播放视频时在立体声与单声道之间切换无变化原因分析及解决

 更新时间:2013年06月02日 17:05:16   作者:  
使用第三方视频播放器,有立体声与单声道之间切换,发现切换后无作用,原因是由于在HAL层默认没有处理上层发的stereo 转mono的命令,具体的解决方法如下
部分客户客户使用第三方视频播放器,有立体声与单声道之间切换,发现切换后无作用
原因是由于在HAL层默认没有处理上层发的stereo 转mono的命令,所以会没有效果,

可按如下修改,添加相关处理:
1修改AudioMTKHardware.cpp
添加:static String8 keySetStereo2MonoMode = String8("EnableStereoOutput");

2.修改status_t AudioMTKHardware::setParameters(const String8 &keyValuePairs)
在EXIT_SETPARAMETERS:
之前添加:
复制代码 代码如下:

if (param.getInt(keySetStereo2MonoMode, value) == NO_ERROR) {
ALOGD("setParameters(): %s value=%d", keyValuePairs.string(),value);
((AudioMTKStreamManager*)mAudioMTKStreamManager)->ForceSterer2Mono(value);
}


3.修改AudioMTKStreamManager.h
添加public方法定义:
复制代码 代码如下:

status_t ForceSterer2Mono(bool flag);
status_t AudioMTKStreamManager::ForceSterer2Mono(bool flag)
{
// force all stream to standby
ALOGD("ForceSterer2Mono = %d",flag);
if (mStreamOutVector.size()) {
for (size_t i = 0; i < mStreamOutVector.size() ; i++) {
AudioMTKStreamOut *pTempOut = (AudioMTKStreamOut *)mStreamOutVector.valueAt(i);
pTempOut->SetStereoToMonoFlagForce(flag);
}
}
return NO_ERROR;
}

4.修改AudioMTKStreamOut.h
t添加定义:
复制代码 代码如下:

status_t SetStereoToMonoFlagForce(bool flag);
status_t AudioMTKStreamOut::SetStereoToMonoFlagForce(bool flag)
{
ALOGD("SetStereoToMonoFlagForce = %d",flag);
mSteroToMono = flag;
return NO_ERROR;
}

相关文章

  • Android之ScrollView嵌套ListView和GridView冲突的解决方法

    Android之ScrollView嵌套ListView和GridView冲突的解决方法

    由于ListView,GridView本身都继承于ScrollView,一旦在ScrollView中嵌套ScrollView,在ScrollView中嵌套使用ListView或者GridView,ListView只会显示一行多一点。两者进行嵌套,即会发生冲突
    2013-09-09
  • 基于Flutter制作一个心碎动画特效

    基于Flutter制作一个心碎动画特效

    这篇文章主要为大家介绍了如何利用Flutter制作一个心碎动画特效,文中的示例代码讲解详细,对我们学习Flutter有一定帮助,感兴趣的可以了解一下
    2022-04-04
  • 安卓(Android)游戏开发音效代码

    安卓(Android)游戏开发音效代码

    本文主要介绍在Android 游戏开发的过程中会用到音效资源,这里对音效的方法做出详解,希望对大家有所帮助
    2016-07-07
  • Android实现波浪球效果

    Android实现波浪球效果

    这篇文章主要为大家详细介绍了Android实现波浪球效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • Android切换卡TabWidget用法示例

    Android切换卡TabWidget用法示例

    这篇文章主要介绍了Android切换卡TabWidget用法,结合实例形式分析了TabWidget选项卡界面布局及功能实现的操作技巧,需要的朋友可以参考下
    2016-08-08
  • Android 下载网络图片并显示到本地

    Android 下载网络图片并显示到本地

    本文主要介绍了Android实现下载网络图片并显示到本地功能的示例代码。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • Android 利用三阶贝塞尔曲线绘制运动轨迹的示例

    Android 利用三阶贝塞尔曲线绘制运动轨迹的示例

    本篇文章主要介绍了Android 利用三阶贝塞尔曲线绘制运动轨迹的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Android栗子の图片验证码生成实例代码

    Android栗子の图片验证码生成实例代码

    这篇文章主要介绍了Android栗子の图片验证码生成实例代码,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-12-12
  • Android视频压缩的示例代码

    Android视频压缩的示例代码

    本篇文章主要介绍了Android视频压缩的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Android小程序实现个人信息管理系统

    Android小程序实现个人信息管理系统

    这篇文章主要为大家详细介绍了Android小程序实现个人信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05

最新评论