Android BroadcastReceiver中播放提示语音有时失效问题
Android BroadcastReceiver 千万不要做耗时的操作,如果有耗时的操作,请让OnReceive 中调用service。
@Override public void onReceive(Context context, Intent intent) {
try {afd = assetManager.openFd("notify.wav");mAm.requestAudioFocus(null,AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN);MediaPlayer player = new MediaPlayer();player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(), afd.getLength());player.prepare();player.start();player.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){@Override public void onCompletion(MediaPlayer mp) {mAm.abandonAudioFocus(null);}}); } catch (IOException e) {e.printStackTrace(); }
}
接到订单播放提示语音,发现有时候不能播放出来!!
后来改写到service中
@Override public int onStartCommand(Intent intent, int flags, int startId) {AssetManager assetManager = getApplicationContext().getAssets();AssetFileDescriptor afd = null;try {afd = assetManager.openFd("notify.wav");mAm.requestAudioFocus(null,AudioManager.STREAM_MUSIC,AudioManager.AUDIOFOCUS_GAIN);MediaPlayer player = new MediaPlayer();player.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(), afd.getLength());player.prepare();player.start();player.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){@Override public void onCompletion(MediaPlayer mp) {mAm.abandonAudioFocus(null);}});} catch (IOException e) {e.printStackTrace();}return START_STICKY;
然后在Onreceive 中调用service
Toast.makeText(context, "收到了通知", Toast.LENGTH_SHORT).show(); Intent serviceIntent = new Intent(context, PlayMediaService.class); context.startService(serviceIntent);
Android BroadcastReceiver中播放提示语音有时失效问题相关推荐
- android listview中播放视频,支持全屏
最近在做项目的时候有需求要在 listView 中播放视频,并且支持横竖屏无缝切换,在网上搜索了一下,关于这种 demo真的很少, 有的也只是实现简单的功能,无法满足项目中的需求,想着修改一下凑合用, ...
- html 安卓 视频加载错误,javascript – html5视频无法在Android webview中播放,但适用于(移动)Chrome...
我有一个(客户)网站使用js brightcove player来渲染html5视频. (阅读:我无法编辑网站本身) 在移动Chrome中,视频有效,一切都很好.但是在我的Android应用中,使用呈 ...
- android浏览器音频播放器,javascript – 在Android浏览器中播放html5音频
我有一个JavaScript在浏览器中播放音频,使用html5< audio>标签.它在iPhone浏览器中工作正常,但不在Android中. (使用Android 2.1测试使用htc愿 ...
- Android 开发中调用google语音接口
最近项目开发中需求中要采用多种的输入方式,于是乎想起google的语音搜索做了一下尝试,做了一个简单的语音识别的demo,总结起来,大致的过程如下: 一.检查Androird手机上是否装上了googl ...
- 搬砖之路----MusicPlayer 一个基于Vlc(2.0+)开发的android音乐播放器--浅析在android开发过程中播放器选择之路!
前言 MusicPlayer 是一款基于vlc播放器开发的一个音乐播放器,你也可以理解为在此核心上的搬砖之路,核心的内容并不是我写的,因此在正式写blog之前,感谢那些vlc核心的开发人员让我用到这么 ...
- Android模拟器放出视频,android模拟器中播放视频(有声无影等问题的解决)
今天按照<Android应用开发揭秘>中的代码做了个播放视频的小例子,播放后发现有声无音,发现是视频分辨率过大造成的. 使用格式工厂工具把MP4转换一下就可以了. 转换的配置如图 转换后的 ...
- JSP中播放提示声音
1.动态HTML标签<bgsound>此元素不需要关闭标签.主要控制属性如下: id-id是给bgsound起的名字,以便以后调用. src-所插入声音的URL(网址). loop-设置循 ...
- Android studio中 RelativeLayout 的 layout_marginBottom 属性失效问题
第一种RelativeLayout 下设置 ImageView 失效 <ImageViewandroid:id="@+id/imageview"android:layout_ ...
- android 日历没有提醒功能,如何在Android 4中无提示地将日历事件添加到默认日历中而无任何提示?...
小编典典 这是我最终成功的一个工作示例: ContentResolver cr = ctx.getContentResolver(); ContentValues values = new Conte ...
最新文章
- 《开源安全运维平台OSSIM最佳实践》实验环境下载
- 是漏电,还是电磁辐射?
- sylog mysql_syslog-ng+loganalyzer搭建日志集中监控平台
- html5up ui开源框架,ZUI-HTML5前端 UI 框架
- 网络:窗口控制下的重发机制、流量控制
- mysql 存储引擎接口_MySQL 的基础一(连接池, SQL接口, 查询解析器, 查询优化器, 存储引擎接口, 执行器,)...
- 记录一次查询log的经历
- CSS Grid布局(2)
- Css内边距与外边距
- PyTorch:将模型转换为torch.jit.ScriptModule
- 网络管理员&MCSE2003之2:使用虚拟机Vmware建立多电脑网络环境
- 【新功能发布】事件监控升级-支持自动化处理云产品异常
- [转载]Spring Cloud微服务Sentinel+Apollo限流、熔断实战
- Unity零基础到入门 ☀️| Unity下载安装---使用UnityHub下载各个版本的Unity(收藏)
- 简易局域网聊天java_简单的局域网聊天程序(java版本的)
- html oa 表单,OA表单制作(致远)
- 谷歌gmail注册入口_Gmail,日历和其他Google Apps即将出现的外观如下
- 屏蔽烦人的百度搜索热点
- 使用async.whilst要注意的地方
- OpenCV情绪识别(Python实现,超简单)
热门文章
- RSA key format is not supported
- 摩托车计算机辅助设计,摩托车消声器消声特性及计算机辅助设计研究
- Linux下实现脚本监测特定进程占用内存情况
- Android中Intent传递Object和ArrayListObject对象---笔记
- 44. xargs命令
- 【CSS进阶】box-shadow 与 filter:drop-shadow 详解及奇技淫巧
- wamp下Apache2.4.x局域网访问403的解决办法
- BZOJ3476 : [Usaco2014 Mar]The Lazy Cow
- 在 Eclipse 3.5中在线安装SVN插件
- 由胡润百富榜联想到的