返回顶部
首页 > 资讯 > 移动开发 >android播放视频时在立体声与单声道之间切换无变化原因分析及解决
  • 294
分享到

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

Android 2022-06-06 10:06:05 294人浏览 薄情痞子
摘要

部分客户客户使用第三方视频播放器,有立体声与单声道之间切换,发现切换后无作用 原因是由于在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;
}
您可能感兴趣的文章:一个HTML5播放视频的video控件只支持Android的默认格式mp4和3gpandroid使用videoview播放视频Android播放视频的三种方式Android编程实现播放视频时切换全屏并隐藏状态栏的方法Android仿新浪微博/QQ空间滑动自动播放视频功能Android编程实现播放视频的方法示例Android多媒体教程之播放视频的四种方法Android ViewPager中显示图片与播放视频的填坑记录Android DragVideo实现播放视频时任意拖拽的方法android使用surfaceview+MediaPlayer播放视频


--结束END--

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

本文链接: https://lsjlt.com/news/27679.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作