如何同时在一个布局并排在Android的不同看法播放多种视频文件 [英] How to play multiple video files simultaneously in one layout side by side in different view in Android

查看:236
本文介绍了如何同时在一个布局并排在Android的不同看法播放多种视频文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Android中,我创建了并排三面视图一侧的布局,我想同时播放不同的媒体播放器一个视频文件。但是有一个问题我面对,没有三个可以同时播放视频。其中一个或两个得到的停止显示。 如果我使用的视频来看,而不是媒体播放器类直接,但问题依旧。 请任何人都可以提供帮助。是什么问题呢?它是给错误的表面创建失败本地错误。我尝试了不同的组合,如在3个不同的视图一个文件,在三个不同的视图中的三个文件,但问题是不固定呢。 在其他网站的一些答复说,这取决于内核版本。 如果它取决于内核版本,请你给我说这取决于内核版本的Andr​​oid网站的任何Android的文档链接。或者,它可以播放,请给我的code中的步骤。这是错误日志 -

  04-10 19:23:37.995:E / ANDROID_DRM_TEST(2573):客户端::通知
04-10 19:23:37.995:V / AudioPolicyManager(2573):startOutput()输出1,流3,会议131
04-10 19:23:37.995:从缓存策略1,设备2 getDeviceForStrategy():V / AudioPolicyManager(2573)
04-10 19:23:37.995:V / AudioPolicyManager(2573):getNewDevice()选择装置2
04-10 19:23:37.995:V / AudioPolicyManager(2573):setOutputDevice()输出1设备2 delayMs 0
04-10 19:23:37.995:V / AudioPolicyManager(2573):setOutputDevice()设置同一个设备2或空设备输出1
04-10 19:23:37.995的:I / AudioFlinger(2573):启动输出streamType(0,3)为1
04-10 19:23:37.995:D / AudioHardwareYamaha(2573):AudioStreamOut :: setParameters(keyValuePairs =start_output_streamtype = 3)
04-10 19:23:38.010:W / SEC_Overlay(2689):overlay_setPosition(0)0,0,200,397 => 0,0,200,397
04-10 19:23:38.010的:I / SEC_Overlay(2689):overlay_setParameter参数[4] = 4
04-10 19:23:38.010:D / SEC_Overlay(2689):DST宽度,高度已经改变[W = 200,H = 397]  - > [W = 200,H = 397]
04-10 19:23:38.010:I / SEC_Overlay(2689):无关!
04-10 19:23:38.090:E / VideoMIO(2573):AndroidSurfaceOutput :: setParametersSync()视频旋转0
04-10 19:23:38.090:E / VideoMIO(2573):AndroidSurfaceOutput :: setParametersSync()视频渲染器1
04-10 19:23:38.090:D / SEC_Overlay(2689):overlay_createOverlay:单位:W = 128 H = 96格式= 48
04-10 19:23:38.090:E / SEC_Overlay(2689):错误 - 已在使用覆盖
04-10 19:23:38.090:D / VideoMIO(2573):覆盖创建失败 - 重试
04-10 19:23:38.195:D / SEC_Overlay(2689):overlay_createOverlay:单位:W = 128 H = 96格式= 48
04-10 19:23:38.195:E / SEC_Overlay(2689):错误 - 已在使用覆盖
04-10 19:23:38.195:D / VideoMIO(2573):覆盖创建失败 - 重试
04-10 19:23:38.230:E / VideoMIO(2573):AndroidSurfaceOutput :: setParametersSync()视频旋转0
04-10 19:23:38.230:E / VideoMIO(2573):AndroidSurfaceOutput :: setParametersSync()视频渲染器1
04-10 19:23:38.230:D / SEC_Overlay(2689):overlay_createOverlay:单位:W = 128 H = 96格式= 48
04-10 19:23:38.230:E / SEC_Overlay(2689):错误 - 已在使用覆盖
04-10 19:23:38.230:D / VideoMIO(2573):覆盖创建失败 - 重试
04-10 19:23:38.295:D / SEC_Overlay(2689):overlay_createOverlay:单位:W = 128 H = 96格式= 48
04-10 19:23:38.295:E / SEC_Overlay(2689):错误 - 已在使用覆盖
04-10 19:23:38.295:D / VideoMIO(2573):覆盖创建失败 - 重试
04-10 19:23:38.330:D / SEC_Overlay(2689):overlay_createOverlay:单位:W = 128 H = 96格式= 48
04-10 19:23:38.330:E / SEC_Overlay(2689):错误 - 已在使用覆盖
04-10 19:23:38.330:D / VideoMIO(2573):覆盖创建失败 - 重试
04-10 19:23:38.395:D / SEC_Overlay(2689):overlay_createOverlay:单位:W = 128 H = 96格式= 48
04-10 19:23:38.395:E / SEC_Overlay(2689):错误 - 已在使用覆盖
04-10 19:23:38.395:D / VideoMIO(2573):覆盖创建失败 - 重试
04-10 19:23:38.435:D / SEC_Overlay(2689):overlay_createOverlay:单位:W = 128 H = 96格式= 48
04-10 19:23:38.435:E / SEC_Overlay(2689):错误 - 已在使用覆盖
04-10 19:23:38.435:D / VideoMIO(2573):覆盖创建失败 - 重试
04-10 19:23:38.495:D / SEC_Overlay(2689):overlay_createOverlay:单位:W = 128 H = 96格式= 48
04-10 19:23:38.495:E / SEC_Overlay(2689):错误 - 已在使用覆盖
04-10 19:23:38.495:D / VideoMIO(2573):覆盖创建失败 - 重试
04-10 19:23:38.535:D / SEC_Overlay(2689):overlay_createOverlay:单位:W = 128 H = 96格式= 48
 

解决方案

我已经找到一个解决方案。只需更换/system/build.prop本以下build.prop -

build.prop

 #开始构建属性
#由buildinfo.sh自动生成
ro.build.id =姜饼
ro.build.display.id = GINGERBREAD.EG14
ro.build.version.incremental = EG14
ro.build.version.sdk = 10
ro.build.version。$ C $的cname = REL
ro.build.version.release = 2.3.4
ro.build.date =周四7月14日12点16分01秒KST 2011
ro.build.date.utc = 1310613361
ro.build.type =用户
ro.build.user = se.infra
ro.build.host = SEI-28
ro.build.tags =释放,键
ro.product.model = SHW-M250S
ro.product.brand =三星
ro.product.name = SHW-M250S
ro.product.device = SHW-M250S
ro.product.board = SHW-M250S
ro.product.cpu.abi = armeabi,V7A
#三星特有的属性
ro.build.PDA = M250S.EG14.1208
ro.build.hidden_​​ver = M250S.EG14.1208
ro.b uild.changelist = 380592
ro.product.cpu.abi2 = armeabi
ro.product.manufacturer =三星
ro.product.locale.language =阁
ro.product.locale.region = KR
ro.wifi.channels =
ro.board.platform = s5pc210
#ro.build.product已经过时了;使用ro.product.device
ro.build.product = SHW-M250S
#不要试图解析ro.build.description或.fingerprint
ro.build.description = SHW-M250S用户2.3.4姜饼EG14释放键
ro.build.fingerprint =三星/ SHW-M250S / SHW-M250S:2.3.4 /姜饼/ EG14:用户/释放键
#三星特有的属性
ro.build.PDA = M250S.EG14.1208
ro.build.hidden_​​ver = M250S.EG14.1208
ro.build.changelist = 380592
ro.build.fota_ver = SSNT11GINGEREG14
ro.tether.denied = FALSE
ro.flash.resolution = 1080
#年底建物业
#
#system.prop的asop5000
#

rild.libpath = /系统/ lib中/ libsec-ril.so
rild.libargs = -d的/ dev / ttyS0来
ro.sf.lcd_density = 240
dalvik.vm.heapsize =64米

#三星USB默认模式
persist.service.usb.setting = 2

#
#ADDITIONAL_BUILD_PROPERTIES
#
ro.setupwizard.mode =可选
ro.com.google.gmsversion = 2.3_r4
media.stagefright.enable玩家=真
media.stagefright.enable-元=真
media.stagefright.enable扫描=真
media.stagefright.enable-HTTP =真
media.stagefright.enable-RTSP =真
ro.com.google.clientidbase =安卓三星
ro.com.google.clientidbase.ms = Android的SKT-KR
ro.com.google.clientidbase.am = Android的SKT-KR
ro.com.google.clientidbase.gmm =安卓三星
ro.com.google.clientidbase.yt =安卓三星
ro.url.legal = HTTP://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy = HTTP://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.google.locationfeatures = 1
keyguard.no_require_sim =真
ro.config.ringtone = Over_the_horizo​​n.ogg
ro.config.notification_sound = Sherbet.ogg
ro.config.alarm_alert = Good_Morning.ogg
ro.config.media_sound = Over_the_horizo​​n.ogg
ro.opengles.version = 131072
ro.csc.sales_ code = MSK
ro.secdevenc =真
ro.wtldatapassword =真
net.bt.name =机器人
dalvik.vm.stack追踪文件= /数据/ ANR / traces.txt
 

目前先用USB和类型连接您的三星Galaxy S-II在命令提示符下安装系统 -

  CMD:>亚行重新装入
 

,然后替换该文件,然后重新启动您的设备 -

  CMD:>亚行的shell
#reboot
 

我已经注意到,默认情况下,该设备使用libstagefright中的OpenCore框架来代替。而的OpenCore有一些问题,这就是为什么殿错误抛出。但libstagefright在Android版本2.3已经实现。看一看在build.prop文件,该stagefright是禁用。这是最好的解决方案,使以libstagefright框架,并就支持libstagefright框架。可以播放MPEG-2 TS文件还,它支持同时播放多个视频文件,而无需任何问题。 试试吧,享受。

In Android, I created a layout with three surface view side by side, and I want to play one video file with different media player simultaneously. But one problem I faced that none of three can play that video simultaneously. One or two of them getting stopped the display. If I used video view instead of Media Player class directly, but the problem remains the same. Please anybody can help. What the problem is for? It is giving error surface creation failed native error. I tried different combination such as one file in 3 different view, three files in three different view, but the problem is not fixed yet. Some replies in other web site says that it depends on kernel version. If it depends on Kernel version, please can you give me any android documentation link on android site that it depends on kernel version. Or it is possible to play, please give me the steps of code. This is error log -

04-10 19:23:37.995: E/ANDROID_DRM_TEST(2573): Client::notify In
04-10 19:23:37.995: V/AudioPolicyManager(2573): startOutput() output 1, stream 3,  session 131
04-10 19:23:37.995: V/AudioPolicyManager(2573): getDeviceForStrategy() from cache strategy 0, device 2
04-10 19:23:37.995: V/AudioPolicyManager(2573): getNewDevice() selected device 2
04-10 19:23:37.995: V/AudioPolicyManager(2573): setOutputDevice() output 1 device 2 delayMs 0
04-10 19:23:37.995: V/AudioPolicyManager(2573): setOutputDevice() setting same device 2 or null device for output 1
04-10 19:23:37.995: I/AudioFlinger(2573): start output streamType (0, 3) for 1
04-10 19:23:37.995: D/AudioHardwareYamaha(2573): AudioStreamOut::setParameters(keyValuePairs="start_output_streamtype=3")
04-10 19:23:38.010: W/SEC_Overlay(2689): overlay_setPosition(0) 0,0,200,397 => 0,0,200,397
04-10 19:23:38.010: I/SEC_Overlay(2689): overlay_setParameter param[4]=4
04-10 19:23:38.010: D/SEC_Overlay(2689): dst width, height have changed [w= 200, h= 397] -> [w=200, h= 397]
04-10 19:23:38.010: I/SEC_Overlay(2689): Nothing to do!
04-10 19:23:38.090: E/VideoMIO(2573): AndroidSurfaceOutput::setParametersSync()  VIDEO ROTATION 0
04-10 19:23:38.090: E/VideoMIO(2573): AndroidSurfaceOutput::setParametersSync()  VIDEO RENDERER 1
04-10 19:23:38.090: D/SEC_Overlay(2689): overlay_createOverlay:IN w=128 h=96 format=48
04-10 19:23:38.090: E/SEC_Overlay(2689): Error - overlays already in use
04-10 19:23:38.090: D/VideoMIO(2573): Overlay create failed - retrying
04-10 19:23:38.195: D/SEC_Overlay(2689): overlay_createOverlay:IN w=128 h=96 format=48
04-10 19:23:38.195: E/SEC_Overlay(2689): Error - overlays already in use
04-10 19:23:38.195: D/VideoMIO(2573): Overlay create failed - retrying
04-10 19:23:38.230: E/VideoMIO(2573): AndroidSurfaceOutput::setParametersSync()  VIDEO ROTATION 0
04-10 19:23:38.230: E/VideoMIO(2573): AndroidSurfaceOutput::setParametersSync()  VIDEO RENDERER 1
04-10 19:23:38.230: D/SEC_Overlay(2689): overlay_createOverlay:IN w=128 h=96 format=48
04-10 19:23:38.230: E/SEC_Overlay(2689): Error - overlays already in use
04-10 19:23:38.230: D/VideoMIO(2573): Overlay create failed - retrying
04-10 19:23:38.295: D/SEC_Overlay(2689): overlay_createOverlay:IN w=128 h=96 format=48
04-10 19:23:38.295: E/SEC_Overlay(2689): Error - overlays already in use
04-10 19:23:38.295: D/VideoMIO(2573): Overlay create failed - retrying
04-10 19:23:38.330: D/SEC_Overlay(2689): overlay_createOverlay:IN w=128 h=96 format=48
04-10 19:23:38.330: E/SEC_Overlay(2689): Error - overlays already in use
04-10 19:23:38.330: D/VideoMIO(2573): Overlay create failed - retrying
04-10 19:23:38.395: D/SEC_Overlay(2689): overlay_createOverlay:IN w=128 h=96 format=48
04-10 19:23:38.395: E/SEC_Overlay(2689): Error - overlays already in use
04-10 19:23:38.395: D/VideoMIO(2573): Overlay create failed - retrying
04-10 19:23:38.435: D/SEC_Overlay(2689): overlay_createOverlay:IN w=128 h=96 format=48
04-10 19:23:38.435: E/SEC_Overlay(2689): Error - overlays already in use
04-10 19:23:38.435: D/VideoMIO(2573): Overlay create failed - retrying
04-10 19:23:38.495: D/SEC_Overlay(2689): overlay_createOverlay:IN w=128 h=96 format=48
04-10 19:23:38.495: E/SEC_Overlay(2689): Error - overlays already in use
04-10 19:23:38.495: D/VideoMIO(2573): Overlay create failed - retrying
04-10 19:23:38.535: D/SEC_Overlay(2689): overlay_createOverlay:IN w=128 h=96 format=48

解决方案

I've found one solution. Just replace /system/build.prop with this following build.prop -

build.prop

# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=GINGERBREAD
ro.build.display.id=GINGERBREAD.EG14
ro.build.version.incremental=EG14
ro.build.version.sdk=10
ro.build.version.codename=REL
ro.build.version.release=2.3.4
ro.build.date=Thu Jul 14 12:16:01 KST 2011
ro.build.date.utc=1310613361
ro.build.type=user
ro.build.user=se.infra
ro.build.host=SEI-28
ro.build.tags=release-keys
ro.product.model=SHW-M250S
ro.product.brand=samsung
ro.product.name=SHW-M250S
ro.product.device=SHW-M250S
ro.product.board=SHW-M250S
ro.product.cpu.abi=armeabi-v7a
# Samsung Specific Properties
ro.build.PDA=M250S.EG14.1208
ro.build.hidden_ver=M250S.EG14.1208
ro.b uild.changelist=380592
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=samsung
ro.product.locale.language=ko
ro.product.locale.region=KR
ro.wifi.channels=
ro.board.platform=s5pc210
# ro.build.product is obsolete; use ro.product.device
ro.build.product=SHW-M250S
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=SHW-M250S-user 2.3.4 GINGERBREAD EG14 release-keys
ro.build.fingerprint=samsung/SHW-M250S/SHW-M250S:2.3.4/GINGERBREAD/EG14:user/release-keys
# Samsung Specific Properties
ro.build.PDA=M250S.EG14.1208
ro.build.hidden_ver=M250S.EG14.1208
ro.build.changelist=380592
ro.build.fota_ver=SSNT11GINGEREG14
ro.tether.denied=false
ro.flash.resolution=1080
# end build properties
#
# system.prop for asop5000
#

rild.libpath=/system/lib/libsec-ril.so
rild.libargs=-d /dev/ttyS0
ro.sf.lcd_density=240
dalvik.vm.heapsize=64m

# Samsung USB default mode
persist.service.usb.setting=2

#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.setupwizard.mode=OPTIONAL
ro.com.google.gmsversion=2.3_r4
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
media.stagefright.enable-rtsp=true
ro.com.google.clientidbase=android-samsung
ro.com.google.clientidbase.ms=android-skt-kr
ro.com.google.clientidbase.am=android-skt-kr
ro.com.google.clientidbase.gmm=android-samsung
ro.com.google.clientidbase.yt=android-samsung
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.com.google.locationfeatures=1
keyguard.no_require_sim=true
ro.config.ringtone=Over_the_horizon.ogg
ro.config.notification_sound=Sherbet.ogg
ro.config.alarm_alert=Good_Morning.ogg
ro.config.media_sound=Over_the_horizon.ogg
ro.opengles.version=131072
ro.csc.sales_code=MSK
ro.secdevenc=true
ro.wtldatapassword=true
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt

At first connect your Samsung Galaxy s-II with usb and type in command prompt to mount your system -

cmd:> adb remount

and then replace the file and reboot your device -

cmd:> adb shell
#reboot

I've noticed that by default this device uses opencore framework instead of libstagefright. And opencore has some problem, that's why the nave error is throwing. But libstagefright is already implemented in android version 2.3. Have a look at the build.prop file, the stagefright is disable. It is the best solution to enable to libstagefright framework and do support libstagefright framework. You can play MPEG-2TS file also and it supports to play multiple video file simultaneously without having any problem. Try it and enjoy.

这篇关于如何同时在一个布局并排在Android的不同看法播放多种视频文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆