Android Mediaplayer MediaController超时

Android Mediaplayer MediaController超时,第1张

概述香港专业教育学院实现了流媒体的MP3URL的mediaplayer和mediacontroller.但是,我在TMobile网络上的设备无法获得很好的3G信号,因此可以在EDGE上运行.我假设媒体播放器因流太慢或不完整而崩溃,是否可以设置超时?解决方法:MediaPlayer中没有超时方法,但是您可以自己实现-有多种方法可

香港专业教育学院实现了流媒体的MP3 URL的mediaplayer和mediacontroller.但是,我在TMobile网络上的设备无法获得很好的3G信号,因此可以在EDGE上运行.我假设媒体播放器因流太慢或不完整而崩溃,是否可以设置超时?

解决方法:

MediaPlayer中没有超时方法,但是您可以自己实现-有多种方法可以执行.
我建议其中之一,我用了自己,对我有用-broadcastReceiver
代码如下所示:

@H_403_12@public class ConnectivityCheckingReceiver extends WakefulbroadcastReceiver{  private AlarmManager alarmManager;  private PendingIntent pendingIntent;  @OverrIDe  public voID onReceive(Context context, Intent intent)  {    if (MusicService.mediaPlayer != null)    {        if (!MusicService.mediaPlayer.isPlaying())            Log.v("Music", "Music is NOT playing");             //stop service and notify user        else            Log.v("Music", "Music is playing");    }    else    {        Log.v("Music", "User stopped player");    }  }  public voID setAlarm (Context context, int hour, int minute, int second)  {    alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);    Intent intent = new Intent(context, ConnectivityCheckingReceiver.class);    pendingIntent = PendingIntent.getbroadcast(context, 0, intent, 0);    Calendar calendar = Calendar.getInstance();    calendar.set(Calendar.HOUR_OF_DAY, hour);    calendar.set(Calendar.MINUTE, minute);    calendar.set(Calendar.SECOND, second);    alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);        }}

在活动/服务/片段中添加以下行:

@H_403_12@ConnectivityCheckingReceiver conCheck = new ConnectivityCheckingReceiver();conCheck.setAlarm(context, hour, min, second);

您将需要自己实现小时/分钟/秒检查逻辑,但是使用Joda Time之类的库就可以轻松实现.
并且不要忘记添加到清单中:

@H_403_12@<uses-permission androID:name="androID.permission.WAKE_LOCK" /><receiver androID:name=".receivers.ConnectivityCheckingReceiver" />

附言:我的解决方案不是完美的,但是我没有看到关于此问题的任何好答案,因此,如果找到一个,请分享.

总结

以上是内存溢出为你收集整理的Android Mediaplayer MediaController超时全部内容,希望文章能够帮你解决Android Mediaplayer MediaController超时所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1084338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存