Articles of android video player

如何添加video播放和资源到android应用程序

我在onriod应用上遇到了问题。 我想在其中播放video,但我不想从interenet下载。 在其他情况下,我想要在设备上。 所以,人从android市场下载它,并可以播放video,而无需下载。 我已经想出了一些解决scheme,但没有一个是好的。 首先是将其添加到应用程序资源,但是你不能在那里有video。 第二个是在安装过程中添加或更好地创build文件夹(更多specyfic第一个onCreate方法),然后从应用程序复制那里video。 好吧,不是那么糟糕的select(你可以例如下载一次只有video从networking使用后台服务),但我不知道如何删除在卸载,因为你的应用程序不知道什么时候它是非受阻。 那么有没有人知道或有任何想法呢?

如何将通过MediaRecorder录制的video长度读取到通过context.getFilesDir()构build的私有应用程序存储目录中?

我有一个奇怪的问题,通过使用MediaRecorder读取设备相机logging的video文件的长度/持续时间。 该文件被logging到应用程序的专用存储目录中,其设置如下所示: mMediaRecorder.setOutputFile(context.getFilesDir() + "/recordings/webcam.3gpp"); 录制完成后,我尝试用这些方法读取video的长度: 方法1: MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever(); mediaMetadataRetriever.setDataSource(context.getFilesDir() + "/recordings/webcam.3gpp"); String time = mediaMetadataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION); return Long.parseLong(time); 方法2: MediaPlayer mp = MediaPlayer.create(context, Uri.parse(context.getFilesDir() + "/recordings/webcam.3gpp")); long duration = mp.getDuration(); mp.release(); return duration; 没有任何方法的工作。 mediaMetadataRetriever.extractMetadata返回null, MediaPlayer.create将以IOExceptionexception失败。 我已经validation该文件存在。 重要说明:如果将录制内容保存到“/sdcard/recordings/webcam.3gpp”,则不会发生此问题。 出于某种原因,我只是不能读取文件在属于应用程序的私人文件目录中的持续时间。 此外,这个问题只发生在我的三星Droid充电,运行Android 2.3。 它不会发生在运行Android 4.2的三星Galaxy S4和运行Android 4.3的Asus Nexus 7。 编辑: 如果我把相同的文件复制到SD卡上,然后阅读它的长度,一切正常。 是什么赋予了? copy(new File(context.getFilesDir() […]

Android SDK – 来自URL的媒体播放器video

我试图find一个简单的教程,解释如何从URL加载video到Android媒体播放器,但不幸的是我找不到任何! 我尝试了几件事情来尝试让它工作,但仍然没有运气。 让MediaPlayerActivity只从url加载video的最佳方法是什么? 谢谢 编辑: 我已经按照build议尝试了下面的代码: VideoView videoView = (VideoView) findViewById(R.id.your_video_view); MediaController mediaController = new MediaController(this); mediaController.setAnchorView(videoView); videoView.setMediaController(mediaController); videoView.setVideoURI(Uri.parse("url-here")); videoView.start(); 它只是当我去这个活动崩溃。

通过MP4video向后search时呈现时间戳不正确

我正在使用MediaCodec和MediaExtractor以可变的速率播放video,无论是向前还是向后。 该代码使用类似SpeedControlCallback的东西来build立帧间暂停 – 从输出缓冲区中为其提供presentationTimeUs字段。 99%的时间都可以正常工作,但是三星S6上的AVC编解码器在向后寻找时提供了不正确的显示时间 – 如果这样做有意义的话,它们会被locking在最高价值的任何位置。 缓冲区中的数据是正确的/正在改变 – 它只是不符合固定的显示时间。 S6可以处理avc1品牌/ ftype的MP4文件的avc1 ,但是我试过的其他品牌的H.264video( mp42 , mp42 )不能100%的工作。 相同的文件在三星S5和我尝试过的其他设备上工作正常。 编解码器logging这个: 09-15 11:16:21.611 2992-16618/? W/EXYNOS_VIDEO_DEC﹕ sCurrentTimestamp(6002033) is smaller than latestTimeStamp(7001744), uses latestTimeStamp 在每个向后寻找( SEEK_TO_PREVIOUS_SYNC ),并将提供错误的所有关键帧latestTimestampValue 。 有没有人遇到类似的问题在Galaxy S6的AVC编解码器,或者有能力提供任何(非hacky)的解决scheme?

如何在android中创buildvideo预览?

我在我的SD卡上有一个video文件。 我想在我的ImageView中显示这个video的预览。 请让我知道如何在Android中执行此操作。 感谢您的帮助和时间。

VideoView里面的片段导致黑屏拂动

我们有一个在Android API 4.0上运行的Android应用程序。 其中一项活动的布局将屏幕分为两部分。 在左侧,我们有一个静态部分,有一些button。 在右侧,我们有一个FrameLayout将根据按下的button切换到相应的片段。 问题:右侧的一个片段包含一个VideoView。 当用户点击button来显示这个片段时,片段被显示出来,然后video立即开始播放:当渲染这个片段时,完整的屏幕在黑色中闪烁,这是非常烦人的。 这里是VideoFragment类的一些代码: public class VideoFragment extends Fragment { public VideoView videoView; private ExternalVideo mVideo; private boolean mVideoExists; private String mDestination; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mDestination = ApplicationParams.MEDIA_STORAGE_PATH + "videos/" + FilenameUtils.getBaseName(((DetailActivity)getActivity()).getProduct().getVideoUrl()) + "." + FilenameUtils.getExtension(((DetailActivity) getActivity()).getProduct().getVideoUrl()); File file = new File(mDestination); mVideoExists = file.exists() && […]

是否有可能从android中的videourl生成缩略图

我正在开发一个video应用程序。 我正在从服务器链接stream式传输video,是否可以在不下载video的情况下从URL生成video缩略图。

Android – 在全屏video的最后一帧覆盖的视图在打开和closures屏幕时无法正确重绘

我有一个以纵向模式播放的video。 在video的最后,我需要展示一些视图。 这工作很好迄今。 但是,我有一个问题,在屏幕closures后回到活动时,video最后一帧的视图不能正确重绘,然后重新开启,然后解锁屏幕。 我正在观察的是,当屏幕重新打开,我解锁。 我的video和图像首先在全屏模式之外呈现(状态栏仍然显示),屏幕将进入全屏模式,将所有视图向上移动并造成伪影。 看起来好像意见正在被转移到全屏后的视野范围之内。 我非常难以确定如何防止这种情况发生。 这里是在github上的沙箱项目,以避免使这个后期充满代码。 该项目的基本设置是这样的: 片段活动在其布局上有一个video视图和一个button视图。 然后它将一个片段添加到contentView容器中。 contentView在video播放结束前1秒内淡入淡出。 一切工作顺利,问题是在开启和closures屏幕后返回到应用程序。 此外,有时video将完全退出,将视图置于黑色背景之上。 预先感谢您提供的任何帮助。 当您closures屏幕,重新开启和解锁时,会发生这种情况。 请注意,我必须拍下它的照片。 在DDMS上,截图工具正确地查看图像。

将直播videostream传输到Android

我如何stream直播video到Android(2.1及更高版本),我有两个链接: m3u8和f4m (据我所知,f4m不支持)。 从我在stackoverflow上看到的,有一种方法可以将m3u8与vitamio(但链接不工作)stream。 有没有其他的方式来streamM3U8video? 也许还有其他格式可以使用? 谢谢。

Android ExoPlayer:它是否解决Android媒体播放器的无缝/无缝播放问题

有没有人尝试使用ExoPlayer来实现这一目标? 我试着在网上看,没有成功。 当我说无缝播放时,我指的是使用媒体播放器来播放本地video的问题。 第一个video播放完毕后,在第二个video开始播放之前,会有明显的延迟1秒。 希望这个问题有助于进一步理解这个问题。 参考请看下面的问题: Android:MediaPlayer无缝或无缝的video播放