Articles of 媒体播放器

如何从URI获取文件名

你好,我正在开发与Android画廊的video播放器。 我从胆汁中收到URI。 我需要在播放video时显示video标题。 所以,如果内容没有标题元数据。 我需要取消video文件名。 如何获取video内容文件名? 谢谢

两个Android手机之间的实时video流

我目前正在研究两款Android手机之间的video流。 我写了一个能够将video录制到sd文件的应用程序(使用MediaRecorder); 我写了另一个能够显示文件video的应用程序。 这两个应用程序都完美 我在以下网站find了一个关于“用Android播放video – 无需写入本地文件”的网站。 这正是我想要做的。 http://www.mattakis.com/blog/kisg/20090708/broadcasting-video-with-android-without-writing-to-the-file-system 我修改了我的代码。 对于录像机,它是: socket=severSocket.accept(); ParcelFileDescriptor=pfd; recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP); recorder.setVideoFrameRate(15); recorder.setVideoSize(320, 240); recorder.setPreviewDisplay(holder.getSurface()); pfd = ParcelFileDescriptor.fromSocket(socket); recorder.setOutputFile(pfd.getFileDescriptor()); recorder.prepare(); recorder.start(); 对于video播放器: Socket socket = new Socket(IP,PORT); mMediaPlayer = new MediaPlayer(); pfd = ParcelFileDescriptor.fromSocket(socket); mMediaPlayer.setDataSource(pfd.getFileDescriptor()); // <– here is the problem mMediaPlayer.setDisplay(holder); mMediaPlayer.prepare(); mMediaPlayer.setOnBufferingUpdateListener(this); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnPreparedListener(this); mMediaPlayer.setOnVideoSizeChangedListener(this); mMediaPlayer.start(); […]

如何在Android上使用MediaPlayer流式传输经过身份validation的内容

我已经看过很多post在SO上提出这个问题,但似乎没有一个确定的答案(或者至少是我喜欢的答案!) 我有基本身份validation(用户名/密码)后面的内容保护 – 我可以使用各种HTTP下载条款下载它,但对于我的生活,我无法理清如何告诉媒体播放器流式传输(并提供认证)。 我看到一篇post暗示它是不可能的,因为MediaPlayer是所有本机代码而不是像Authenticator那样的东西。 有很多例子说明如何首先下载到缓存的副本然后再播放但是……那种糟糕的(文件可能是100的MB)。 我看到至少有一个建议以较小的块下载它,然后开始和停止播放(重定向到新文件),但那种糟糕也因为(我认为)是一个口吃(我没试过它) ) 我现在最好的想法是开始下载到缓存文件,然后当它“足够”时启动播放,同时我继续填充文件….我希望这有效(但是,再次,没有尝试过)。 我错过了一些明显的东西吗 让各种各样的部分几乎正常工作真是太痛苦了,我有点自信说必须有一种方法可以原生地传输受保护的内容(或者让它采用已经建立的合格的InputStream),但它似乎并不令人高兴。 顺便说一下,我是Mac / iPhone的家伙,也是Android的新手,所以我还在努力学习Java ……如果我错过了一些明显的东西,请相信。

使用MediaPlayer类播放video

我正在尝试使用MediaPlayer类来播放video文件。 问题是video根本没有显示,虽然我可以听到video播放中的声音。 以下是活动代码 public class MainActivity extends Activity implements OnClickListener { private SurfaceView surfaceView; private Button btnPlay; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); addListener(); } private void init() { // TODO Auto-generated method stub surfaceView = (SurfaceView) findViewById(R.id.surfaceView1); btnPlay = (Button) findViewById(R.id.btnPlay); } private void addListener() { // TODO Auto-generated method stub […]

MediaPlayer信息/警告(973,0)是什么意思?

我正在使用MediaPlayer在我的应用程序中播放很多短音乐,但我在logcat中收到了这个警告: MediaPlayer信息/警告(973,0)。 这个警告意味着什么? 我四处搜索(在文档中和Google上),但没有任何结果。 另外,我正确地发布了MediaPlayer。 编辑: 01-18 18:43:22.662:W / MediaPlayer(24940):info / warning(973,0)

Android:如何知道MediaPlayer是否暂停?

MediaPlayer.isPlaying()不允许知道MediaPlayer是停止还是暂停。 如何知道它是否暂停而未停止? 谢谢 !

Android MediaPlayer获得音量

我有兴趣检索MediaPlayer的当前音量,但是没有看到任何像’getVolume()’这样的方法。 有一个setVolume(),所以我有点困惑为什么他们也没有提供一种方法来读取这个属性。 我看到了其他一些建议使用AudioManager读取音量的答案: int volumeLevel = am.getStreamVolume(AudioManager.STREAM_MUSIC); int maxVolume = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC); float volume = (float)volumeLevel/maxVolume; 但是,这似乎返回了所有音乐的设备音量,而不是我使用’setVolume()’设置的音量…有没有办法直接从MediaPlayer获取音量? 我想也许我需要用getAudioSessionId()做一些事情。 谢谢。

MediaPlayer在大约5秒后停止播放

我目前正在开发一款简单的游戏,现在是时候添加音乐和音效了。 我尝试使用MediaPlayer ,就像这里描述的那样: Android媒体播放器错误 但是我有另一个问题, MediaPlayer在大约5秒后停止播放音乐。 什么可能导致这种情况?

MediaPlayer.setDataSource()和prepare()无法正常工作 – android

我在使用MediaPlayer对象时遇到了麻烦,并没有取得多大成功。 如果我将一个声音资源添加到我的原始文件夹并使用R中的int值调用它,它可以正常工作。 但是我希望能够从url中删除内容。 根据我读过的所有文档,setDataSource()应该接受带有文件url的字符串参数。 我一直在prepare()语句中获得IOexception。 我甚至试过在本地复制文件,但仍然没有骰子。 有人有主意吗? MediaPlayer mp = new MediaPlayer(); try { mp.setDataSource(“http://www.urltofile.com/file.mp3”); mp.prepare(); mp.start(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }

没有声音来自Android模拟器

我运行了我的应用程序,我无法在Android模拟器上运行声音。 我在Eclipse AVD Manager中检查并启用了音频播放布尔值。 我还进入了Android模拟器中的声音选项并将它们放好(放置它们时没有声音)。 我选中了一个框,表示所有选择都会产生噪音(仍然没有声音)。 我的应用程序使用MediaPlayer类,如果与它有任何关系,我运行win7 x64。 感谢帮助。