Android使用MediaPlayer播放音视频时,可以通过setOnErrorListener设置一个listener给MediaPlayer,当播放过程中出现错误时,该listener可以收到通知。
MediaPlayer.OnErrorListener是接口类,只有一个方法。abstract boolean onError(MediaPlayer mp, int what, int extra)可以通过what和extra知道发生了什么错误,常见的what整理如下。MEDIA_ERROR_UNKNOWN(1),未指定的错误MEDIA_ERROR_SERVER_DIED(100),media server di...
Android当中实现视频播放的方式有两种,即:通过VideoView实现或者通过SurfaceView + MediaPlayer实现。由浅至深,首先来看下想要在Android上播放一段视频,我们应当怎么做。前面我们已经提到了两种方式,这里我们来看一下具有更好的拓展性的第二种方式,也就是通过SurfaceView + MediaPlayer进行实现。首先,我们来定义一个布局文件如下,为了方便起见,我们仅仅只在该布局中定义了一个SurfaceView:<?xml version="1.0" encoding...
结果:1.播放视频需要手动放入MediaPlayerControl1控件,设置MediaPlayerControl1.MediaPlayer := MediaPlayer1;2.播放声音文件正常,但播放器视时发现,第一边正常第二边就报错了(哪位大神知道的,请M我哦,先谢谢了)。3.打包时需要打入MP3与MP4文件,路径为"assets\internal\"。 实例代码: 1unit Unit1;2 3interface 4 5uses 6 System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,7 FMX.T...
承接上一章节分析:Android MediaPlayer整体架构源码分析 -【MediaCodec编解码器插件模块化注册和创建处理流程】【Part 7】 本系列文章分析的安卓源码版本:【Android 10.0 版本】
推荐涉及到的知识点: Binder机制实现原理:Android C++底层Binder通信机制原理分析总结【通俗易懂】 ALooper机制实现原理:Android native层媒体通信架构AHandler/ALooper机制实现源码分析 Binder异常关闭监听:Android native层DeathRecipient对关联...
String url = "http://91.121.140.11:8000/";MediaPlayer mediaPlayer = new MediaPlayer();mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mediaPlayer.setDataSource(url);mediaPlayer.prepare();mediaPlayer.start();我正在使用Android 4.0.3对此进行测试,并已在物理设备和仿真器上进行了尝试.该应用程序打开,但是我听不到任何声音.我以为他们增加了对SHOUTcast流的支持.我做错什么了吗?解决方法:
MediaPlayer mp...
我在Android上播放外部MP3文件时遇到问题.我正在使用以下代码:MediaPlayer player = new MediaPlayer();
try {BufferedInputStream bis = new BufferedInputStream(new java.net.URL(url).openStream());FileOutputStream fos = new FileOutputStream(Environment.getExternalStorageDirectory().getPath() + "/forvo_temp.mp3");BufferedOutputStream bos = new BufferedOutputStream(fos,1024);byte [] data = new byte[1024];i...
我目前正在尝试制作一个具有触发音频文件的按钮的应用程序,但是这些音频文件是由用户通过文件浏览器活动选择的.我听说MediaPlayer存在延迟问题,但SoundPool有内存限制吗?
另外,我是否可以让用户通过从文件浏览器(选定的项目)返回一个字符串来设置音频文件,并将其用于音频API的路径(无论是哪个)?解决方法:如果您尝试播放已加载的文件,则SoundPool速度更快.因为加载文件需要花费更多时间,并且文件应更小以获得更好的性能.
但是在您...
我的Android应用程序创建了MediaPlayer()并播放循环歌曲.当用户离开应用程序时,我需要停止播放.我还需要以某种方式到达音量按钮,以便用户调整歌曲的音量…有任何想法吗?MediaPlayer mp;public void setupMediaPlayer()
{mp = MediaPlayer.create(context, R.raw.song);mp.setLooping(true);mp.start();
}public void stopMediaPlayer()
{mp.stop();
}解决方法:根据问题的前半部分:如果在onPause()和onDestroy()中调用stopMediaP...
我有一个音板应用程序,可以在按下音频文件的按钮时调用该文件.但是,在大多数按钮被按下并播放之后,我开始出现这些Mediaplayer错误.有谁知道如何检测它,然后重新启动或完全阻止它发生?谢谢你的时间.
-colbyfor (Map.Entry<Integer, Integer> entry : map.entrySet()) {ImageButton button = (ImageButton) findViewById(entry.getKey());button.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {try ...
所以我正在关注Big Nerd Ranch的Android编程书,我有一个通过MediaPLayer播放的音频文件.我还有一个播放和暂停音频的按钮.如果按播放按钮播放音频,按钮上的文字将变为“暂停”.问题是在音频结束后按钮仍然显示“暂停”,因此用户必须按两次按钮再次播放音频.如何让按钮将其文本更改为“在音频结束后立即播放”
这是我的代码减去按钮的布局xml
片段类:public class HelloMoonFragment extends Fragment {private Button mPlayButton;...
在Android上,您可以使用MediaRecorder类从麦克风录制音频:MediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
我想录制一些MediaPlayer实例播放的音频部分(或其他音频播放设备).那可能吗?如何设置自定义音频源?
总结一下;如何从任意音频源将音频流传输到MediaRecorder?解决方法:我认为现在还没有API.尽管有可能,但您必须能够访问设备的缓冲区,直至内核/硬件级别.即使你找到了办法,我也不认为Android会允许你在应用...
我是Java和Eclipse的Android开发新手.
我正在尝试开发一个控制内置Android媒体播放器的应用程序.当我按下音量增大/减小时,它应该跳过曲目.如何从代码控制媒体播放器?解决方法:使用媒体按钮意图:Intent i = new Intent(Intent.ACTION_MEDIA_BUTTON);
synchronized (this) {i.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_MEDIA_NEXT));sendOrderedBroadcast(i, null);i.putExtra(Intent...
导入导入android.media.MediaPlayer,我被告知raw无法解决private void playSound(){MediaPlayer mp = MediaPlayer.create(this, R.raw.Jam);
...我是Android的新手,什么是原始的?我该如何解决这个问题?解决方法:原始文件夹包含任何类型的文件.您需要资源文件夹(res)下的原始文件夹.在您的示例中,jam被期望作为原始文件夹中的资源,并且可能是一种音乐文件,因为您正在使用MediaPlayer来尝试阅读它.
你有这个错误原始无法解决因为原...
我正在尝试创建一个Android应用程序,它收集各种远程歌曲链接并为用户播放.该应用程序使用Android的MediaPlayer,每个歌曲链接都会重定向到MediaPlayer处理并最终播放的Stream URL.
但是,这些歌曲链接中的一些实际上是重定向并提供HTTP 404错误,因为它们不可用,我想知道是否有任何方法可以立即直接处理/捕获这些HTTP错误.截至目前,MediaPlayer所做的是发出信号:
错误(1,-2147483648)
…在尝试连接数据源10次之后,我可以捕获它以通知...
在我的应用程序中,我正在使用Android媒体播放器进行实时音频流.我想捕捉MediaPlayer播放的声音流.有没有办法使用Android MediaPlayer而不是MediaRecorder进行录制?有什么建议?解决方法:虽然这是一项非常重要的工作,但您可以编写自己的“MediaPlayer”来实现您正在使用的任何流协议,并将流写入文件而不是扬声器.