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

2014-05-19  来源:本站原创  分类:Android  人气:3 

使用第三方视频播放器,有立体声与单声道之间切换,发现切换后无作用,原因是由于在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播放视频时在立体声与单声道之间切换无变化原因分析及解决 2014-05-19

    使用第三方视频播放器,有立体声与单声道之间切换,发现切换后无作用,原因是由于在HAL层默认没有处理上层发的stereo 转mono的命令,具体的解决方法如下 部分客户客户使用第三方视频播放器,有立体声与单声道之间切换,发现切换后无作用 原因是由于在HAL层默认没有处理上层发的stereo 转mono的命令,所以会没有效果, 可按如下修改,添加相关处理: 1修改AudioMTKHardware.cpp 添加:static String8 keySetStereo2MonoMode = String

  • YouTube改用宽屏模式播放视频 2014-01-24

    新浪科技讯 北京时间11月25日消息,据国外媒体报道,YouTube今天宣布将网站上视频的播放格式改为宽屏播放,原有4:3模式的视频依然可以兼容播放. YouTube今日发布公告称,近年来通过搜集用户对其网站的反馈建议,发现调整视频播放框的大小位居所有反馈建议的首位,于是决定将页面宽度调整为960像素,另将所有的视频改为宽屏播放. 由于YouTube上绝大多数视频上传时采用的是非高清电视标准的4:3模式,所以在以宽屏播放视频时,播放窗口左右各有一道黑边.部分视频虽然可以全屏幕播放,但是在嵌入其他

  • XIP&MULTI模式下TCMovieManager无法播放视频 2011-05-12

    配置了XIP和MULTI模式的WINCE_BSP_V1.91烧录到开发板以后, 使用TCMoiveManager播放视频时出现如图的错误. 解决办法: 在platform.bib中将VCU.dll和MSC.dll编入 XIPKERNEL: IF BSP_TCC_VCU VCU.dll $(_FLATRELEASEDIR)\VCU.dll NK (修改为:XIPKERNEL) SHK ENDIF IF BSP_TCC_MSC MSC.dll $(_FLATRELEASEDIR)\MSC.dll N

  • 一个html5播放视频的video控件只支持android的默认格式mp4和3gp 2014-01-19

    写了个html5播放视频的video控件,只支持mp4和3gp(android和ios默认支持的格式就写了这个) ,需要的朋友可以参考下 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

  • android使用videoview播放视频 2013-11-23

    这篇文章主要介绍了Android利用自带VideoView控件播放视频的示例,需要的朋友可以参考下 public class Activity01 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV

  • android图库播放幻灯片时按power键灭屏再亮屏显示keyguard 2015-01-03

    图库在播放幻灯片时,按power键灭屏,然后再亮屏,会发现幻灯片继续在播放,没有显示keyguard,如何在亮屏后显示解锁界面,具体实现方法如下,感兴趣的朋友可以参考下哈 图库在播放幻灯片时,按power键灭屏,然后再亮屏,会发现幻灯片继续在播放,没有显示keyguard.如何在亮屏后显示解锁界面. 修改方法是去掉FLAG_SHOW_WHEN_LOCKED标志位,在ICS2.JB和JB2上的修改位置略有不同. 1.在ICS2和JB版本上,修改Gallery2\src\com\android\ga

  • Firefox 3.5正式版全新体验:播放视频无需插件 2013-12-04

    欧盟禁止Windows 7中捆绑IE8的禁令让不少浏览器厂商欢欣鼓舞,或许看到了更多的曙光,当然自身的更新就更加不能怠慢.近一段时间,Safari.Opera以及Google Chrome都推陈出新,分别推出了各自的4.0正式版.10.0 beta及3.0版本:而位居浏览器领域次席的Firefox自然也不甘示弱,时不时地"小步快走"发布更新,更在6月底发布了Firefox 3.5正式版,以迎战又一轮的浏览器大战. 带着更快的速度和更优异的性能,无疑,Firefox 3.5正式版会吸引我

  • Hulu在"无法播放"错误提示后播放视频广告 2014-06-04

    北京时间8月26日消息:据国外媒体报道,Hulu是美国全国广播公司和新闻集团联合组建的视频网站.最近有网友爆料,Hulu竟在"无法播放视频"的错误信息之后播放企业广告,引发了网友争议. 据悉,这段错误提示主要针对美国以外的网民.如果这些网民搜索Hulu视频时,将得到一个提示.提示称:"对不起,我们目前的视频流媒体服务只能在美国收看,有关更多国际覆盖情况,请点击查阅." 显然,这段提示类似于上网浏览时经常看到的"404错误". 随后,Hulu网站竟

  • webview html5 自动播放视频 2012-11-01

    /** * @author wilber * @src http://my.codeweblog.com/wilber * @target 4.1 * @requirements:载入html5网页自动播放视频 * <---| android webview html5 video autoplay |---> */ 参考http://www.longtailvideo.com/html5/autoloop/发现html5 视频的autoplay根本没实现,查看了下android 源码HTML

  • android 旋转 视频 2013-09-24

    android编程中 视频的旋转的操作,目前仍然没有完成目标: 在某一个界面中的某个小区域中的videoview,想让这个videoview中的视频旋转90度. 尝试的方法有: 1,直接旋转某个 view, 即修改view的属性orientation, framelayout是没有orientation这个属性的,linearlayout有这个属性,可以成功的改变orientation,但是实际效果并不如人意啊,layout中所有的东西都转过来了,唯独视频没有旋转90度过来,无比郁闷. 2. 尝

  • android 获取视频,图片缩略图的具体实现 2013-11-25

    android 获取视频,图片缩略图的具体实现,需要的朋友可以参考一下 1.获取视频缩略图有两个方法(1)通过内容提供器来获取(2)人为创建缩略图 (1)缺点就是必须更新媒体库才能看到最新的视频的缩略图 [java] /** * @param context * @param cr * @param Videopath * @return */ public static Bitmap getVideoThumbnail(Context context, ContentResolver cr,

  • 利用AJAX开源项目 在网页里播放视频实现方法 2013-12-30

    下载videobox 1.1.zip把它解压到asp.net项目的目录下,并用"Add New Item"新建一个Html文件用以播放视频. 1.参看 >http://videobox-lb.sourceforge.net/ >http://sourceforge.net/project/showfiles.php?group_id=203672 >下载videobox 1.1.zip把它解压到asp.net项目的目录下,并用"Add New Item&qu

  • Android实现退出时关闭所有Activity的方法 2014-02-08

    这篇文章主要介绍了Android实现退出时关闭所有Activity的方法,主要通过自定义类CloseActivityClass实现这一功能,需要的朋友可以参考下 本文示例实现了Android退出时关闭所有Activity的功能,分享给大家供大家参考之用.具体方法如下: 一般来说,在Android退出时,有的Activity可能没有被关闭.为了在Android退出时关闭所有的Activity,这里给出了以下的类: //关闭Activity的类 public class CloseActivityC

  • IIS7传大于30M的视频时出现找不到文件或目录错误正确处理方法 2014-07-06

    IIS7传大于30M的视频时出现找不到文件或目录错误的情况想必有很多的朋友都有遇到过吧,下面与大家分享下具体的解决方法 这个情况是出现在使用iis7的系统上的,因为iis7限制了上传文件大小,默认允许最大上传30M. 解决办法:修改IIS_schema.xml这个文件要先获得这个文件的控制权; 进入目录C:\Windows\System32\inetsrv\config\schema,修改文件IIS_schema.xml 权限: 进入IIS_schema.xml文件权限修改,选择"高级"

  • js获取视频时长代码 2014-09-27

    下面的这段js获取视频时长代码是网上找的,还没有测试,需要的朋友可以参考下 网上找的,因为最近要用,但还没试过 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&q

  • android播放gif格式图片示例 2014-10-24

    这篇文章主要介绍了android播放gif格式图片的方法,大家参考使用吧 import android.content.Context; import android.graphics.Canvas; import android.graphics.Movie; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup.LayoutParams; import com.nmb

  • android连接wifi时获取广播地址代码 2015-02-03

    本文详细介绍android连接wifi时获取广播地址的方法,需要了解的朋友可以参考下,获取对你有所帮助 private InetAddress getBroadcastAddress() throws IOException { WifiManager myWifiManager = (WifiManager) getSystemService(WIFI_SERVICE); DhcpInfo myDhcpInfo = myWifiManager.getDhcpInfo(); if (myDhcp

  • Android播放器代码 2013-01-24

    Android播放器代码 源码下载 转载:http://www.adobex.com/android/source/details/00000293.htm

  • Android 远程视频监控程序源码 2013-01-24

    Android 远程视频监控程序源码 源码下载 转载:http://www.adobex.com/android/source/details/00000311.htm

  • Android界面切换出现短暂黑屏的解决方法 2014-06-03

    这篇文章主要介绍了Android界面切换出现短暂黑屏的解决方法,本文讲解的是一个取巧方法,需要的朋友可以参考下 这种问题一般是因为一个Activity启动之后在显示视图之间时间太长导致的. 1.优化方式可以通过精简layout文件.多线程处理数据载入等. 2.但是有些Activity的layout文件可能比较大,如果不能动态载入,在显示之前解析xml的时间可能耗时比较长比如500-1000ms. 这个时候Activity会先显示默认的黑色背景图,所以会出现黑屏的情况.对于这种情况我们可以在App