Coder Social home page Coder Social logo

Comments (10)

zhangliangming avatar zhangliangming commented on September 27, 2024 1

@wzybupt
1.你最好就是把源码开放给别人看一下,你只描述问题,无代码,别人也不一定帮得到你,有些人看到你这样是直接是不理你的。如果不想给源码给人看,最好就是弄一个可以重现问题的demo,这样方便别人,别人才会帮你解答。你最好还是到官网问一下。
2.关于你的问题,我也没遇到过,你可以考虑一下到官网重新检出一个最新的IjkMediaPlayer的so文件,看一下还会不会出现你说的问题,可能官方已经修复了也说不定。
3.如果最新的IjkMediaPlayer的so文件也有问题,那应该就是你代码的问题了,最好就是根据你的流程,好好地看一遍代码,看一下哪个地方执行了耗时操作。
4.和你说一下,我的调用流程, 如果是在线播放歌曲,我是直接写一个线程下载文件,再在本地播放的。不是直接调用IjkMediaPlayer在线播放的。
5.希望可以帮得到你。

from happyplayer5.

wzybupt avatar wzybupt commented on September 27, 2024 1

`while (enumerate.hasMoreElements()) {

        pEvent = (PoolePlayerEvent) enumerate.nextElement();

        // 如果忙,等 5 秒
        if (pEvent.isBusy()) {

// wait(5000); // 等 5 秒
}
// 从对象池向量中删除它
events.removeElement(pEvent);
}`

@zhangliangming 不说了都是泪,跟播放确实没什么关系。因为有各种时间回调,我用了一个事件池,然后在网上找了个二把刀的代码。在销毁事件池的时候,检测到事件还在处理,就等5s,然后就光荣anr了。
正常流程应该也不会有这个问题,因为事件处理完就给他把状态置为空闲,但是因为回收事件的代码有同步问题,导致有些事件没有被置为空闲,就导致这个问题。
我说的播放时间短没问题,应该就是播放的事件比较少,不会导致同步问题出错。但是播放时间长了,播放事件多起来了,就出问题了。
哎···
不过还是多谢提醒,多谢耐心解答。

from happyplayer5.

zhangliangming avatar zhangliangming commented on September 27, 2024

@wzybupt 我这边未遇到这种情况,不过放久了,有一种app用起来会有点卡的感觉。我每放完一首歌曲,都是重新创建一个ijkplayer的,希望对你有帮助。不过,我觉得ijkplayer在做定位播放方面有点不友好,老是定位不准确。

from happyplayer5.

wzybupt avatar wzybupt commented on September 27, 2024

@zhangliangming 对 我现在也是每次播放完一首歌,都把之前的mediaplayer释放掉,应该是掉IjkMediaPlayer的release方法没错吧?然后重新new一个新的IjkMediaPlayer,播放时间端没有问题,但是时间一长,就出问题。我看关于进度什么的都是通过消息机制去回调,我是通过IjkMediaPlayer在service里面直接获取的,应该没什么问题吧。但是现在就是播放时间长了出问题,您能想到一些可能的原因吗?

from happyplayer5.

zhangliangming avatar zhangliangming commented on September 27, 2024

你这个最好就是问一下他们官方的人,看怎么解决。
其实具体的我也不清楚,如果你是出现anr的话,可能有一些比较耗时的操作了,你最好就是弄一个日志,记录app的一些操作。我也没搞清楚,我觉得可能有如下几点吧:
1.内存问题,IjkMediaPlayer播放越久,消耗的内存越多,不知它们有没有优化。
2.应该是有一些比较耗时的操作没有放到后台执行。
3.后台运行久了,手机自动将app部分内存(一些变量)被回收了,我之前遇到过,就是再次进入时,程序直接闪退了,不过没有出现过anr的情况。
@wzybupt

from happyplayer5.

wzybupt avatar wzybupt commented on September 27, 2024

@zhangliangming 这个情况是这样,如果播放时间短,我关闭的时候就没问题,如果播放时间超过10分钟,关闭的时候就卡,如果有其他触摸事件之类的,就会anr。代码都是一样的,应该不会是线程之类的东西,所以现在就百思不得其解···

from happyplayer5.

wzybupt avatar wzybupt commented on September 27, 2024

@zhangliangming 感谢感谢,我重新梳理了一下代码,好像差不多找到问题所在了。以后提issue也多放点信息,感谢耐心解答。^-^

from happyplayer5.

zhangliangming avatar zhangliangming commented on September 27, 2024

@wzybupt 解决了,能否告诉我是什么问题,好让我也注意一下。。。。。

from happyplayer5.

wzybupt avatar wzybupt commented on September 27, 2024

@zhangliangming 好的,我再验证一下问题

from happyplayer5.

zhangliangming avatar zhangliangming commented on September 27, 2024

@wzybupt 不用客气

from happyplayer5.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.