【问题标题】:Playing Internet Radio Streams in Android - Stream stops after 20-30 minutes在 Android 中播放互联网广播流 - 流在 20-30 分钟后停止
【发布时间】:2012-03-10 09:16:05
【问题描述】:

我在 Android 应用程序中使用 MediaPlayer 对象播放 Shoutcast Internet Radio Streams,但在长时间播放流时遇到问题

问题是 MediaPlayer 在 20-30 分钟后突然停止播放流。 MediaPlayer 侦听器中未捕获任何错误。在各个论坛搜索了很多,这似乎是手机进入睡眠模式的问题

  1. 但是,我怎么知道手机什么时候进入睡眠状态?
  2. 我在某处读到,MediaPlayer 需要获取唤醒锁,以便 CPU 永远不会进入睡眠状态。那是问题吗?如果是,我如何获得唤醒锁?
  3. 通过 WiFi 收听时问题似乎更多。 WiFi 是否也需要唤醒锁?

我已经挣扎了很长时间。有人可以帮忙吗?

【问题讨论】:

    标签: android streaming media-player wakelock


    【解决方案1】:

    添加到 Manifest.xml:

    <uses-permission android:name="android.permission.DEVICE_POWER"></uses-permission>
    

    在您播放流媒体的班级中:

    PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
    wl.acquire();        
    {       
        // Your code here   
        // in this block CPU Will not go to the sleep mode   
    } 
    wl.release();
    

    更多信息在这里http://developer.android.com/reference/android/os/PowerManager.html

    【讨论】:

    猜你喜欢
    • 2012-09-20
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-17
    • 2016-04-28
    • 2014-03-02
    相关资源
    最近更新 更多