草庐IT

Mediaplayer

全部标签

android - 多个 MediaPlayer 在 Nexus 5 上不起作用

我正在构建一个使用两个媒体播放器同时播放两个音频文件的应用程序。这在我的SamsungGalaxyS3设备上运行良好,但当我在Nexus5上运行它时,音频变得支离splinter/无法收听。我想知道是否可以在Nexus5上同时使用两个媒体播放器,如果不能,我该如何同时播放两个音频文件? 最佳答案 SoundPool类专门设计用于将多个音频文件复用在一起,以便它们可以一起播放。SoundPoolsoundPool=newSoundPool(2,//numberofstreamsAudioManager.STREAM_MUSIC,//s

Android MediaPlayer 在 Android 4.2.2 播放视频时闪烁

我在AndroidMediaPlayer类中遇到了一个奇怪的问题。我正在使用MediaPlayer在VideoView中播放视频。这适用于所有设备,但SamsungGT-I8200N和Android4.2.2除外。好吧,我确实听说过有关视频无法在某些三星4.1.X设备上播放的报道,但我无法亲手使用这些设备之一。我在GoogleAndroid模拟器中没有收到任何错误。更多细节:Android4.2.2的三星GT-I8200N能够在一个fragment中播放视频,但不能在另一个fragment中播放视频,即使使用相同的代码播放视频也是如此。当视频开始时,整个屏幕闪烁黑色,除了视频应该出现的

java - Android MediaPlayer 播放通过有线耳机断断续续,而不是通过蓝牙

我有一个简单的音乐播放器应用程序(source),它在使用耳机时在Lollipop中出现播放问题。音乐将正常播放30秒到5分钟,然后暂停约2-4秒,然后继续播放。该行为似乎通常在屏幕关闭时发生,但获取CPU唤醒锁并没有帮助。暂停的频率似乎随着时间的推移而加快。一开始是每小时一次,但随后暂停之间的时间每次减少一半左右,直到几乎每分钟暂停一次。我在iTunes编码的aac文件中观察到这种行为,其他人在mp3中观察到这种行为。这仅在通过有线耳机播放时观察到。我从未在蓝牙耳机上体验过这种行为。这可能是什么原因造成的?这似乎是一个进程优先级问题,但我不知道如何解决这种问题。我还没有在Androi

android - MediaPlayer 的状态变化监听器

在这张图中有很多states:但是使用标准监听器我只能监听一些基本状态。那么是否可以监听MediaPlayer的每个状态变化? 最佳答案 不幸的是,除了用自定义状态机容器包围MediaPlayer之外,我找不到其他办法。添加...您可以创建一个单例容器并定义它​​自己的状态。与MediaPlayer的唯一交互是通过此容器完成的。所有其他类都需要访问容器的API。下面是一个简单的大纲:publicclassMyContainerimplementsOnBufferingUpdateListener,OnCompletionListen

android - MediaPlayer 暂停()行为

我正在使用MediaPlayer从URL流式传输音频。根据文档,调用MediaPlayerpause后跟play将从暂停点恢复。我想知道这是如何处理实时音频流的。当我调用pause时,MediaPlayer会为所有传入数据创建某种缓冲区,并存储它直到我再次调用play吗?如果确实如此,这个缓冲区是否有最大大小?我主要担心用户暂停MediaPlayer并且它在存储传入的音频数据时使用大量内存。 最佳答案 据我了解,您正在使用Mediaplayer从URL流式传输音频……类似于广播channel。在此过程中,您正在使用缓冲区。所以,你得

android - 如何解决 MediaPlayer IllegalStateException 问题?

我知道有很多关于这个主题的问题,但没有一个对我有帮助。我尝试了所有方法,但什么也没有,我的logcat和应用程序崩溃中仍然出现IllegalStateException。这是我的MainActivity.java:packagecom.orar.cngcnasaud;importandroid.app.Activity;importandroid.content.Intent;importandroid.content.res.Configuration;importandroid.media.MediaPlayer;importandroid.os.Bundle;importandr

android - 流式传输音频时 MediaPlayer 缓冲时间问题

我正在使用MediaPlayer通过HTTP流式传输广播。在Lollipop上,我的流需要大约一分钟才能开始,这是NotAcceptable。在Kitkat上大约需要20秒,这本来就很痛苦,但现在变得无法使用。有一个wellknownproblem此组件与缓冲相关:要缓冲的字节数是硬编码的,无法更改。我的代码真的很标准player.reset();player.setAudioStreamType(AudioManager.STREAM_MUSIC);player.setDataSource(streamUrl);player.prepareAsync();准备好了player.sta

android - 在 MediaPlayer 仍在准备时停止或释放它

这是一个错误还是在准备时无法释放、停止或杀死MediaPlayer?我有一个MediaPlayer实例在Service中运行,如果我停止、释放、将其设置为null,它会正常停止,而MediaPlayer处于准备状态。但是,如果我停止、释放,如果它处于准备状态,则将其设置为null。onPrepared()在停止、释放、设置为null后调用。一些解决方法?我认为当用户想要在MediaPlayer完成准备之前停止它是常见的用例。 最佳答案 通过查看MediaPlayerdocumentation,不允许对未初始化的对象调用stop();

Android MediaPlayer OnPreparedListener

我正在开发一个简单的应用程序,并使用MediaPlayer在1个Activity中播放一些背景噪音。我正在阅读MediaPlayer,但不确定是否要实现OnPreparedListener来触发start()方法。每种方法的优缺点是什么?方法一:mediaPlayer=MediaPlayer.create(context,R.raw.sound);mediaPlayer.setLooping(true);mediaPlayer.start();方法二:mediaPlayer=MediaPlayer.create(context,R.raw.sound);mediaPlayer.setL

Android 从内部存储播放资源文件导致 MediaPlayer.prepare 给出 IOException

我的应用程序播放为我的应用程序指定的内部目录(/data/data/com...)中的音频资源文件。似乎可以将文件下载到该位置,setDataSource(Stringpath)不会抛出任何异常,但MediaPlayer.prepare()抛出IOException。相同的代码适用于SD卡。为什么会这样?编辑:让我们假设这是代码;它比我的代码更简单,并且抛出相同的异常:packagecom.app.MediaPlayerTest;publicclassMediaTestextendsActivity{MediaPlayermp;@OverridepublicvoidonCreate(B