Android 媒体播放器在 ICS 上永远循环

2024-02-28

我想播放通知声音,但我的问题是声音永远循环,而它应该只响一次。

我尝试过两种方法:

notification.sound = Uri.parse("content://media/internal/audio/media/38");

and

mMediaPlayer = new MediaPlayer();
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
mMediaPlayer.setDataSource(this, Uri.parse("content://media/internal/audio/media/38"));
mMediaPlayer.setLooping(false);
mMediaPlayer.prepare();
mMediaPlayer.setOnPreparedListener(new OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mp) {
        Log.v(Utils.TAG, "onprepared");
        mp.start();
    }
});

mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer mp) {
        Log.v(Utils.TAG, "end, we should release");
        mp.stop();
        mp.release();
    }
});

在第二种情况下,我从未看到“结束,我们应该释放”的痕迹,音频一遍又一遍地播放。

任何想法?

非常感谢

UPDATE:

我尝试过两种设备:

  • 它在配备 ICS 4.0.4 的 Galaxy Nexus 上永远循环
  • 在 HTC Hero 2.2.1 上运行良好

有些声音带有“内置”循环,可以永远播放。这与将 MediaPlayer 设置为循环不同。如果您开始使用内置循环播放声音,它将永远不会结束。这些大多是铃声(而不是警报音或通知音)。您可以将 RingtoneManager 设置为仅返回通知音或闹钟音myringtonemanager.setType(RingtoneManager.TYPE_ALARM|RingtoneManager.TYPE_NOTIFICATION)这将排除大多数循环声音,但不幸的是,这并不能保证在任何设备上都排除它们。:-(

因此,蒂亚戈·阿尔梅达的解决方案是一个很好的解决方法(我已经投票赞成),尽管它也会截断所有只有几个(并且没有无限)循环的声音。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 媒体播放器在 ICS 上永远循环 的相关文章

随机推荐

  • 将 UIButton 锚定到 UITableViewController 视图的底部

    我有以下要求 当一个UITableViewController显示的视图中 行数是可变的 在行下方 应显示一个按钮 当行数较小时 按钮应固定在视图的底部 当行数较多时 删除按钮应紧接在最后一行之后放置 换句话说 And not 到目前为止
  • CSS,位置:绝对,滚动条

    假设有一个页面 div div LEFT div div RIGHT div div 为什么水平滚动条只考虑右溢出 换句话说 为什么 LEFT 不触发滚动条 而 RIGHT 却触发呢 除了body gt overflow hidden 对于
  • 获得平均系数和 adj。使用 lapply 来自多个合并回归的 R^2

    我使用循环函数执行了多个池回归 并将回归输出存储在列表中 myregression 我现在想做的是对我的所有回归 即 myregression 列表 有效地执行 lmtest 包中的 coeftest 函数 以调整标准误差和 t 统计量 最
  • Python 中的梯形波

    如何用Python生成梯形波 我研究了 SciPy 和 NumPy 等模块 但没有成功 是否有像 scipy signal gaussian 这样的模块返回代表高斯函数波的值数组 我使用梯形内核生成了这个Astropy https en w
  • 加载图像时 WPF 抛出“无法定位资源”异常

    我有一个 WPF 窗口 其中包含本地系统中一个文件的背景图像 所以 XAML 文件看起来像这样
  • 增量熵计算

    Let std vector
  • 在迭代期间更改 HashMap 键

    是否可以在迭代过程中更改同一个 HashMap 实例的键 因为地图条目集没有方法entry setKey 现在我能想到的是创建另一个 HashMap MultipartParsingResult parsingResult parseReq
  • 如何在 D3 Javascript 中单击节点时显示和隐藏链接和节点

    我正在尝试遵循此 D3 Javascript 链接 gt http bl ocks org mbostock 1093130 http bl ocks org mbostock 1093130了解点击事件的工作原理 我想做的是 当单击蓝色节
  • 如何将所有项目模板数据设置到 Xamarin Carousel 中的单个视图中

    我尝试将 itemtemplate 中的所有项目制作为单个视图 如下图所示 如何使用 Xamarin CarouselView 实现此目的 我正在使用这样的 carousel new CarouselView carousel Bindin
  • 如何只在部分网站上实现HTTPS?

    我想知道 如何在网站的某一部分实现HTTPS 比方说 我想创建网上商店 我希望能够在没有 HTTPS 的情况下浏览所有项目 这样更快 对吧 当我想要付款时 我想使用 HTTPS 正如我在其他文章中读到的那样 当 IIS 配置为使用 HTTP
  • java中'Float a = 3f'和'Float a = 3.0'有什么区别?

    如果我表演 97346822 3f result is 2 9204048E8 however 97346822 3 0 gives me 2 92040466E8 请解释 号码3 0 is the 字面表示 http docs oracl
  • gcc 在链接时忽略符号名称的大小写

    我正在开发的一个软件使用全小写符号名称将 NETLIB BLAS LAPACK 嵌入到其源代码中 但现在将应用程序移植到 Windows 时我发现 Intel MKL 和该平台的其他几个 BLAS LAPACK 实现使用全大写符号名称 有没
  • 为什么需要绑定 `T: 'a` 来存储引用 `&'a T`?

    鉴于此代码 struct RefWrapper lt a T gt r a T 编译器抱怨 错误 参数类型T可能活得不够长 考虑添加显式生命周期界限T a这样引用类型 a T不会比它所指向的数据更长久 我已经多次看到这个错误 到目前为止我只
  • 清除 Android 浏览器历史记录

    我正在为客户编写一个应用程序 该应用程序将有多个可供客户查看和使用的设备 他们希望能够定期清除浏览器历史记录 这样 如果客户打开浏览器访问不适当的网站 下一个客户就不会看到此内容 我目前正在使用它来清除历史记录和搜索 Browser cle
  • 面试问题:递归生成素数最快的方法是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 您遇到的 C 语言常见的未定义/未指定行为有哪些? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 C 语言中未指定行为的一个示例是函数参数的求值顺序 它可能是从左到右或从右到左 你只是不知道 这会影响如何foo c c or foo
  • 将浮点异常转换为 C++ 异常

    是否可以在 x86 Linux 上将浮点异常 信号 转换为 C 异常 这是出于调试目的 因此不可移植性和不完善性是可以的 例如 如果不能 100 保证调用所有析构函数 如果您的 C 标准库实现支持 TR1 函数fetestexcept fe
  • 最终字段和线程安全

    为了线程安全 它应该是特意不可变的 java 类 final 的所有字段 包括超级字段 还是没有修饰符方法就足够了 假设我有一个带有非最终字段的 POJO 其中所有字段都是某个不可变类的类型 这个 POJO 有 getters setter
  • 安装下载的 .apk 文件时解析错误

    嗨 两周后我又开始了我的研究并与这个错误作斗争 解析错误 解析包时出现问题 我的实现范围是尝试从服务器更新我的应用程序 我在该服务器上有更新的 apk 文件 并使用服务通过我的应用程序下载它 现在我在舞台边缘 我可以从该服务器下载文件 我可
  • Android 媒体播放器在 ICS 上永远循环

    我想播放通知声音 但我的问题是声音永远循环 而它应该只响一次 我尝试过两种方法 notification sound Uri parse content media internal audio media 38 and mMediaPla