当前位置:编程学习 > wap >>

android 同时播放多个视频

让android实现分屏,同时播放多个视频,求救各位大神,有没有解决方法?

目前测试使用了再一个activity中创建多个videoview 或者多个su易做图ceview 进行多个视频播放,
但都不行,只能播放一个视频。 android java 视频 多个 分屏 --------------------编程问答-------------------- 01-07 11:50:30.587: E/MediaPlayer(6811): Unable to to create media player
01-07 11:50:30.587: W/System.err(6811): java.io.IOException: setDataSource failed.: status=0x80000000
01-07 11:50:30.587: W/System.err(6811):  at android.media.MediaPlayer.setDataSource(Native Method)
01-07 11:50:30.597: W/System.err(6811):  at com.huawei.Player.playUrl(Player.java:72)
01-07 11:50:30.597: W/System.err(6811):  at com.huawei.TestbActivity$ClickEvent.onClick(TestbActivity.java:62)
01-07 11:50:30.597: W/System.err(6811):  at android.view.View.performClick(View.java:2532)
01-07 11:50:30.597: W/System.err(6811):  at android.view.View$PerformClick.run(View.java:9277)
01-07 11:50:30.597: W/System.err(6811):  at android.os.Handler.handleCallback(Handler.java:587)
01-07 11:50:30.597: W/System.err(6811):  at android.os.Handler.dispatchMessage(Handler.java:92)
01-07 11:50:30.597: W/System.err(6811):  at android.os.Looper.loop(Looper.java:143)
01-07 11:50:30.597: W/System.err(6811):  at android.app.ActivityThread.main(ActivityThread.java:4196)
01-07 11:50:30.597: W/System.err(6811):  at java.lang.reflect.Method.invokeNative(Native Method)
01-07 11:50:30.597: W/System.err(6811):  at java.lang.reflect.Method.invoke(Method.java:507)
01-07 11:50:30.597: W/System.err(6811):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-07 11:50:30.597: W/System.err(6811):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-07 11:50:30.597: W/System.err(6811):  at dalvik.system.NativeStart.main(Native Method) --------------------编程问答--------------------
引用 楼主 yinjun622 的回复:
让android实现分屏,同时播放多个视频,求救各位大神,有没有解决方法?

目前测试使用了再一个activity中创建多个videoview 或者多个su易做图ceview 进行多个视频播放,
但都不行,只能播放一个视频。
              
                  android
                  java
       ……

你好,我也在为这个问题而苦恼,希望能和你交流。
我的QQ:513438239 --------------------编程问答-------------------- 是啊 4.0.4上面 我的可以 跑三个 视频,第四个怎么也出不来了
本人尝试 过 fragement布局 ,绝对布局,都死活很粗不来第四个视频。 --------------------编程问答-------------------- 不考虑Midware和底层的实现, 在应用层这么搞是很容易失败的, GPU CPU的执行效率这些都是考虑因素。 --------------------编程问答--------------------

引用 3 楼 jdpxiaoming 的回复:
是啊 4.0.4上面 我的可以 跑三个 视频,第四个怎么也出不来了
本人尝试 过 fragement布局 ,绝对布局,都死活很粗不来第四个视频。
底层怎么改呢?       还有3楼的大神      把你跑3个的代码看看 --------------------编程问答-------------------- 大家不用纠结,如果是硬件厂商没有修改,理想情况下是可以播放多个,但是非移动终端一般情况下只允许播放一个,你们所说的mediaplayer 或者su易做图ceview  都是上层的抽象和绘制,移动终端一般的配置也最多能带起3-5个播放,无论是内存还是硬件解码都不可能会无限制的让你去开n个播放 --------------------编程问答--------------------
引用 5 楼 cjl1203456 的回复:
Quote: 引用 3 楼 jdpxiaoming 的回复:

是啊 4.0.4上面 我的可以 跑三个 视频,第四个怎么也出不来了
本人尝试 过 fragement布局 ,绝对布局,都死活很粗不来第四个视频。
底层怎么改呢?       还有3楼的大神      把你跑3个的代码看看

代码直接向absolue增加视频》。
final MyVideoView mVideoView = new MyVideoView(c);
mVideoView.WIDTH = width;
mVideoView.HEIGHT = height;
mVideoView.setTag(blockID);

mVideoView
.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {

if (null != mVideoView) {

int duration = mVideoView.getDuration();

handler.sendMessage(handler.obtainMessage(
0, duration));
}
}
});

mVideoView.setVideoPath(fileName);
mVideoView.requestFocus();

// 添加到画布上
AbsoluteLayout.LayoutParams absoluteParam = new AbsoluteLayout.LayoutParams(
width, height, layout_x, layout_y);
videolayout.addView(mVideoView, absoluteParam);

根据自己需要添加 3个就可以了 --------------------编程问答-------------------- MyVideoview类

import android.content.Context;
import android.util.AttributeSet;
import android.widget.VideoView;

/**
 *  自定义的VideoView
 * @author poe.Cai
 * 2013-6-21
 *
 */
public class MyVideoView extends VideoView {
public static int WIDTH;
public static int HEIGHT;

public MyVideoView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

public MyVideoView(Context context) {
super(context);
}

public MyVideoView(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int width = getDefaultSize(WIDTH, widthMeasureSpec);
int height = getDefaultSize(HEIGHT, heightMeasureSpec);
setMeasuredDimension(width, height);
}
}
--------------------编程问答-------------------- 4.2.2可以跑8个   跑第九个就死机了 --------------------编程问答-------------------- 该方式同时播放一会就会黑屏 --------------------编程问答-------------------- 不知有解决方案? --------------------编程问答--------------------
引用 10 楼 dyy10620958 的回复:
该方式同时播放一会就会黑屏

同问,是因为内存不足引起的吗?

dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=128m
dalvik.vm.heapsize=256m

设置heapsize也不起作用 --------------------编程问答-------------------- 上下两个视频窗口,播放同一个视频文件,不过上面的视频要正常速度播放,下面的视频要慢速播放。在android中怎么实现播放速度的控制,使用MediaPlayer可以实现慢速播放吗?或者要用其他播放控件??求助。
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,