我以前用过mediaplayer,没遇到过这个问题。每当我尝试使用MediaPlayer.create()时,该方法都会给我null,并且我无法播放我的声音。有什么我想念的吗?publicclassGameextendsActivity{privateMediaPlayermp=null;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.game);mp=MediaPlayer.create(getBase
我使用eclipse和androidsdk4.0.3apilvl15创建一个基本的音乐播放器应用程序。我看了看,发现主要有两个类可以播放声音。媒体播放器和声音池。SoundPool在声音优先级和播放声音速率方面具有更大的灵active。我还想画一个音频的可视化图。有没有办法从加载的音频Assets中获取原始PCM数据,以便我能够绘制图形?有没有办法在实时播放原始数据之前对其进行操作?例如,如果我想添加实时效果。这些类(class)可能吗?还是其他?我想使用其中一个类的主要原因是它们可以读取音频格式,而无需我自己读取文件并将格式解析为原始PCM数据。如能提供有关此问题的任何信息,我们将不
我正在尝试连续不断地重复播放音频,没有任何间隙。我试过了,mediaplayer.setLooping(true);但它给出了重复时间之间的差距。并尝试了这个,mediaplayer.setOnCompletionListener(newMediaPlayer.OnCompletionListener(){@OverridepublicvoidonCompletion(MediaPlayermp){mediaplayer.start();}});它也给出了一个差距。我试过不同的音频格式。但是这两种方法都不适合我。android中还有其他方法吗? 最佳答案
如标题所述,未调用onPrepared()重写方法。mediaPlayer=newMediaPlayer();mediaPlayer.setOnPreparedListener(newOnPreparedListener(){@OverridepublicvoidonPrepared(MediaPlayermp){if(mp.equals(mediaPlayer))isReady_mediaPlayer=true;Log.e("I","Mediaplayerhasbeenloadedtomemory!");}});mediaPlayer=MediaPlayer.create(this,
如何使用MediaPlayer流式传输在线URL? 最佳答案 基本上,如果您使用的是AndroidMediaPlayer类,则需要执行以下操作:MediaPlayermediaPlayer=newMediaPlayer();mediaPlayer.setOnErrorListener(newMediaPlayer.OnErrorListener(){publicbooleanonError(MediaPlayermp,intwhat,intextra){mp.reset();returnfalse;}});mediaPlayer.s
在我的应用程序中,我在ListView中显示我的音频文件,当单击列表项时,必须使用搜索栏在ListView单元格内播放特定文件。但现在我想在播放结束时更新用户界面。我用过onCompletionListener,但它在播放开始时重复调用。这是我的代码privatevoidstartPlayBack(finalMessagesAdapter.ViewHolderviewHolder){try{if(mMediaPlayer!=null){if(mMediaPlayer.isPlaying()){mMediaPlayer.stop();}}mMediaPlayer.reset();mMed
正如它在尝试从像这样的一些流中流式传输时在标题中所说的那样:http://173.192.137.34:8050LogCat抛出错误(1,-1004)并转换为:MEDIA_ERROR_IO:Fileornetworkrelatedoperationerrors.同时,这个小样本可以播放许多其他流。是因为流类型还是其他原因?packagecom.example.strm;importandroid.app.Activity;importandroid.media.AudioManager;importandroid.media.MediaPlayer;importandroid.os.B
即使mediaplayer循环属性设置为false,我也无法播放一次铃声。看起来此属性已被使用的铃声URI覆盖。所以永远不会触发onCompletion。奇怪的是,如果URI对应于通知音,则循环根据setLooping运行。它在这里运作良好。那么有没有办法一次性播放一个铃声呢? 最佳答案 我以前遇到过这个问题,使用OnSeekCompleteListener解决了它:mMediaPlayer.setOnSeekCompleteListener(newOnSeekCompleteListener(){publicvoidonSeekC
我正在开发一个应用程序来监控和获取手机上播放的YouTube视频的统计数据。我需要检测视频播放过程中发生的事件,例如视频开始或结束的时间,或者因清空缓冲区而产生的中断。对于休息,我通过分析日志来识别消息来解决问题,例如:WARN/MediaPlayer(661):info/warning(701,0)(PAUSE)WARN/MediaPlayer(661):info/warning(702,0)(RESUME)问题是我没有在日志中找到任何检测视频结束的消息。理想情况下,您可以使用OnCompletionListener来检测此事件,但我一直无法摆脱。我认为这种类型的监听器仅适用于应用程
我已经编写了一个Android应用程序(在eclipse中)来播放音乐文件,如下所示:MediaPlayermediaPlayer=newMediaPlayer();try{mediaPlayer.setDataSource(fileName);mediaPlayer.prepare();mediaPlayer.start();//mediaPlayer.stop();}catch(Exceptione){Log.d("Exception---",e.getMessage());}当我运行它时,它不播放文件(也没有显示任何异常),但是当我切换到“Debug模式”并逐行跟踪它时,它播放文