Articles of videoview

获取Uri Android的真实路径

我正在开发一个VideoPlayer 。 我将启动的意图的URI转换为字符串,它给了我content://media/external….. 但我需要得到真正的道路。 例如: /storage/extSdcard…. 我该怎么做呢? 如果需要,这是我的代码: videoURI = getIntent().getData(); vv.setVideoURI(videoURI); videoName = videoURI.toString(); tvTitle.setText(videoName);

如何使用Android设备播放原始文件夹中的video?

请帮忙,如何在原始文件夹中播放Android设备中的video以进行离线模式? 成功示例1:我可以使用以下代码播放SDcard中的video。 Intent intent = new Intent(Intent.ACTION_VIEW); String type = “video/mp4”; Uri uri = Uri.parse(“file:///sdcard/test.mp4”); intent.setDataAndType(uri, type); startActivity(intent); 失败的示例2:问题:我可以将test.mp4放到res / raw文件夹中吗? Intent intent = new Intent(Intent.ACTION_VIEW); String type = “video/mp4”; Uri uri = Uri.parse(“android.resource://” + getPackageName() + “/” + R.raw.taipei); intent.setDataAndType(uri, type); startActivity(intent); 有谁可以帮助我? 请。

检测VideoVIew是否正在缓冲

有谁知道是否有可能检测到VideoView何时缓冲? 我想在video缓冲时显示ProgressDialog。 到目前为止,我尝试使用OnPreparedListener,但这仅在首次加载video时才有效。 如果正在播放video并且用户将擦洗条移动到不同的点,则video仍然“准备好”,即使它正在缓冲。 我也试过(我知道这很糟糕)AsyncThread只是忙等待isPlaying(): private class BufferTask extends AsyncTask { protected Void doInBackground(Void…voids) { final VideoView videoView = (VideoView)findViewById(R.id.video); while (!videoView.isPlaying()) { } return null; } protected void onPostExecute(Void v) { // Hide the dialog here… } } 这不起作用,因为只要你调用start(),即使它正在缓冲,VideoView似乎也被认为是在播放。 我能想到的唯一解决方案是构建自定义VideoViewtypes类,以便我可以访问其MediaPlayer实例。 有任何想法吗? 谢谢阅读。

如何在Android中的不同视图中并排在一个布局中同时播放多个video文件

在Android中,我创建了一个并排有三个表面视图的布局,我想同时播放一个带有不同媒体播放器的video文件。 但是我遇到的一个问题是,三个人都不能同时播放该video。 其中一两个人停下了显示器。 如果我直接使用video视图而不是Media Player类,但问题仍然存在。 请任何人都可以提供帮助。 问题是什么? 它给错误表面创建失败原生错误。 我尝试了不同的组合,例如3个不同视图中的一个文件,三个不同视图中的三个文件,但问题尚未解决。 其他网站上的一些回复说它取决于内核版本。 如果它取决于内核版本,请你在android网站上给我任何android文档链接,它取决于内核版本。 或者可以玩,请给我代码的步骤。 这是错误日志 – 04-10 19:23:37.995: E/ANDROID_DRM_TEST(2573): Client::notify In 04-10 19:23:37.995: V/AudioPolicyManager(2573): startOutput() output 1, stream 3, session 131 04-10 19:23:37.995: V/AudioPolicyManager(2573): getDeviceForStrategy() from cache strategy 0, device 2 04-10 19:23:37.995: V/AudioPolicyManager(2573): getNewDevice() selected device 2 04-10 19:23:37.995: V/AudioPolicyManager(2573): setOutputDevice() output 1 device 2 delayMs […]

在android中可以将一个视图放在另一个视图上吗?

我们可以在另一个大视图上放置一个小视图吗? 例如,我有一个在后台播放文件的VideoView。 在这个,在中间/角落的某个地方,我想放置另一个ImageView。 但是在线性/相对布局中,视图可以一个接一个地放置或相对于彼此放置,建议不要使用AbsoluteLayout。 那我该怎么办?

如何在某个特定位置观看video内的video?

我目前正在尝试实施video观看,该video将在特定位置显示video。 我可以毫无问题地显示全屏video。 然而,每当我尝试在一个帧内显示该video时(例如一个小矩形),我只能在该视图中显示video的一部分。 我无法将video放入该视图中。 我已经在android中查找了很多关于缩放video的链接,但我无法find任何方法来做到这一点。 有关该问题的任何帮助都会有所帮助。 我正在使用的是我有2个不同的类。 其中一个是我的video活动类,另一个是帮助类: public class VideoViewCustom extends VideoView { private int mForceHeight = 0; private int mForceWidth = 0; public VideoViewCustom(Context context) { super(context); } public VideoViewCustom(Context context, AttributeSet attrs) { this(context, attrs, 0); } public VideoViewCustom(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public void setDimensions(int […]

应用程序在本机4k中显示其图像内容的机制

据我了解,目前UHDvideo内容主要使用HEVC codec在4k电视上流式传输。 我想了解具有UHD图像内容的应用程序如何在原生4K显示其图像内容? 我正在寻找的是渲染4k(3840*2060) jpeg图像。 我的显示器支持4k渲染, SOC甚至可以输出4k。 我正在寻找框架中的修改,以便所有具有4k图像的应用程序可以在我的设备上呈现它们而不缩小尺寸。 实际上我正在努力想出其他人可以使用的API集。 但我的主要困惑是:对于jpeg图像,我创建了一个4k表面,但它们也是其他表面(按钮等)。 它们由表面抛油环渲染,渲染为1280*720 。 现在用这些其他表面组合我的4k表面的最佳方法是什么? 我应该在哪里升级这些表面以及在哪里组合它们?

video没有在VideoView上显示,但我可以听到它的声音

在我的按钮上单击,我编写了以下代码,用于从我的SDCARD(mp4)播放video。 video_view = (VideoView)findViewById(R.id.video_view); video_view.setVideoPath(“/sdcard/myvideo.mp4”); video_view.setMediaController(new MediaController(this)); video_view.start(); 我可以在播放器中播放SDCARD录制的video。 但是当我在video中运行我的应用程序时,我只能听到声音。 问题: 我无法看到video。 —-我试过跟踪SO链接但仍然没有运气—- 链接1 链接2 有人遇到过这种问题吗? 如果是,那怎么解决呢?

如何在Android中的VideoView中隐藏控件?

我正在使用VideoView在我的应用程序中播放video,但我想隐藏其中的控件。 我怎样才能做到这一点? 谢谢。

Android MediaPlayer / VideoView错误(1,-2147483648)

我从文件路径设置VideoView的video时遇到了不一致的经历。 VideoView myVideoView = findViewById(R.id.videoView); … myVideoView.setVideoPath(videoFilename); … myVideoView.start(); videoFilename是我的缓存目录中video的绝对路径: String videoFilename = new File(context.getCacheDir(), “myawesomevideo.mp4”).getAbsolutePath(); 在Android SDK> = 16(Jelly Bean)中,这很好用,我的精彩video播放。 在Android 4.0.4(SDK = 15)中,当调用myVideoView.start()时,MediaPlayer会中断。 错误是永远无益的: error (1, -2147483648) 我在这里想念的是什么? 直接从我的包资产(res / raw)或互联网( http://something.com/myawesomeinternetvideo.mp4 )加载文件,但我无法弄清楚如何从缓存目录中读取文件!