草庐IT

Mediaplayer

全部标签

android - Android早期版本如何实现setVideoScalingMode

MediaPlayer.setVideoScalingMode(int模式)非常适合API16及更高版本,允许在VIDEO_SCALING_MODE_SCALE_TO_FIT和VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING之间进行选择。有没有办法在API16之前为Android实现相同的功能?我试图设置MediaPlayer使用的SurfaceView的尺寸,但MediaPlayer会裁剪原始视频以适合SurfaceView的任何尺寸。 最佳答案 遇到同样的问题,通过这篇文章获得解决方案h

android - 即时解密音频/视频到 MediaPlayer

我已经四处寻找了几天,但无法得到关于如何去做的明确答案。我的sdcard上有一些加密的音频/视频文件,我想播放这些文件并将其发送到MediaPlayer,并在解密同时进行的同时开始播放。它最初创建一个缓冲区,当它有足够的初始数据开始播放时,MediaPlayer将开始播放,并在后台解密并继续发送数据。我环顾四周,大多数解决方案似乎都指向拥有一个本地httpserver,然后将文件发送到服务器,当它返回时,它将像直播流一样开始播放音频/视频。我不知道的是解密代码是从哪里来的?在服务器端?如果有,在哪一部分?我也看过这个http://libeasy.alwaysdata.net/解决方案,

Android:媒体播放器持续时间问题

我已经设置:mSeekBar.setMax(mp.getDuration());//8480Audiofile完成后,我得到的是:player.setOnCompletionListener(newMediaPlayer.OnCompletionListener(){publicvoidonCompletion(MediaPlayermediaPlayer){Log.e("onComplete>>",""+mediaPlayer.getCurrentPosition());//mediaPlayer.getCurrentPosition()=8192Log.e("getDuration

Android 媒体播放器音频故障/断断续续仅在较新的设备上

我有一个相当标准的媒体播放器对象,它在onCreate中启动并在我的应用程序中循环播放背景音乐。该文件不是特别大,它是一个6MB的MP3。来自onCreate:MediaPlayermp;mp=MediaPlayer.create(MainActivity.this,R.raw.lostmexicancity);mp.setLooping(true);mp.setVolume(0.4f,0.4f);mp.start();这在我的大多数测试设备上运行良好,包括旧手机、SamsungGalaxyTab210"平板电脑,甚至Nexus4。不幸的是,我在Nexus5和更新的Nexus10上遇到

Android:在 MediaPlayer 中无缝播放循环音频文件

我正在我的应用程序中播放启用了setLooped的音频文件,但每次音频文件循环播放时,音频播放中都会出现明显但非常短暂的间隙……有什么办法可以解决这个问题吗? 最佳答案 我刚遇到同样的问题,我猜你一直在使用MP3或OGG文件或其他一些压缩格式。解决方案是改用WAV文件。这可能会增加您的apk大小,但可以让您无缝循环。 关于Android:在MediaPlayer中无缝播放循环音频文件,我们在StackOverflow上找到一个类似的问题: https://st

android - 如何在 Android 上的 MediaPlayer 中播放实时 HTTP 音频流?

我想在我的Android应用程序中播放实时HTTP流,所以我在同一LAN中的另一台PC上安装了WindowsMediaEncoder9,并用它来创建实时HTTP音频流。HTTP直播没问题:我测试过,在PC上可以用WindowsMediaPlayer或VLC播放,在我的手机上可以用VLCforAndroid播放。因此,在我的Android应用程序中,我编写了以下代码:privateMediaPlayerplayer=null;@OverridepublicvoidonCreate(BundlesavedInstanceState){StrictMode.setThreadPolicy(n

android - 从 VideoView 调用 MediaPlayer.PrepareAsync

我正在尝试实现一个视频播放列表,以便它们可以从一个视频平稳过渡到下一个。mediaPlayer对象有一个prepareasync()方法,它似乎可以预先缓冲视频以便播放。如何从VideoView对象调用prepareasync方法?我为mediaPlayer找到的示例要么不使用VideoView,要么似乎是从头开始创建表面。或者示例使用mediaPlayer作为videoview事件监听器的返回参数,这似乎只在videoview.play()之后发生。我想在调用播放方法之前访问videoview的媒体播放器,这样我就可以调用prepareasync(),然后再调用play()。

android - 停止在三星设备上的 cordova webview 中无限缓冲 html5 视频

我正在使用Cordova(PhoneGap3.0.0-0.14.4)构建跨平台移动应用程序,Android是目标平台之一。该应用程序的一个(主要但不仅是)功能是播放视频。我选择了html5标记作为实现视频播放器的首选方法。这些视频托管在Vimeo上。该应用程序作为单个html文档实现,其中导航是通过使用javascript更改内容来实现的。我使用的视频标签是这样的:Dinapparatstöderintedennavideo.只需将视频标签添加到html中,即可开箱即用地播放视频。在HTCOnemini(Android4.3)上,这个解决方案没有问题。在SamsungGalaxyS4m

android - Appcelerator Studio - 当我在视频播放器中加载 URL 时,Android 应用程序在 Marshmallow 上崩溃

我从我的远程服务器下载视频并将其保存在应用程序数据目录中。完成后,我将其URL传递给视频播放器(我窗口上的UI元素)。然后我的应用程序崩溃了。这只发生在Marshmallow(Android6.0版)上。我已经在Lollypop(4-5台设备)上对其进行了测试,但它在那里运行良好。我尝试了不同的解决方案,但仍无法解决此问题。这真的让我很难受。如果你们中的任何人对此有想法,请提供帮助。我将不胜感激。这是我的日志(来自评论):[ERROR]:TiVideoView8:java.io.IOException:setDataSourcefailed.[ERROR]:TiVideoView8:a

android - 如何将 MediaPlayer 用于 fragment 中的 SurfaceView

因为我希望能够传递播放视频的MediaPlayer,所以我想在播放视频的fragment中使用SurfaceView而不是VideoView。我看了一个earlierquestion关于如何将MediaPlayer附加到SurfaceView。问题的答案告诉我创建两个函数:@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_player);getWindow().setFormat(PixelFo