安卓:从数据库获取存储的视频
我已经在SQLite Manager中准备了SQLite数据库,并手动添加了所有数据.此数据库存储的图像(BLOB),文本和视频(BLOB)文件.我不能仅将URL/SD卡链接存储到视频中,而不能将整个文件存储在数据库中. 我很容易从数据库中获取文本和图像并在我的应用程序中显示. 对于下面的图像代码: Cursor cursor = myDbHelper.getData(); // select from database text, images(BLOB) and videos(BLOB). ... ByteArrayInputStream inputStream = new ByteArrayInputStream(cursor.getBlob(1)); //image Bitmap b = BitmapFactory.decodeStream(inputStream); ImageView iv = new ImageView(this); iv.set
4 2024-04-01
编程技术问答社区
VideoView getDrawingCache返回黑色
因此,我正在尝试对视频视频进行屏幕截图.我认为最简单的方法是: videoView.setDrawingCacheEnabled(true); 然后,当我需要拍摄屏幕截图时: Bitmap screenshot = videoView.getDrawingCache(); 但是由于某种原因,我回来的位图只是黑色.有人成功吗?我也尝试了: Bitmap bitmap = Bitmap.createBitmap(videoView.getWidth(), videoView.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); videoView.draw(canvas); ,但这再次使我返回了一个黑色图像.我可以看到,在Android Javadocs中几乎没有记录过视频.有帮助吗? 解决方案 来自 : 启用绘图缓存相似 在硬件时设置图层 加速已关闭.
14 2024-03-31
编程技术问答社区
在VideoView中播放视频时,Android的后退按钮不起作用
在视频中播放视频时,Android Back按钮不起作用.但是它在播放视频之前起作用.我正在使用自定义媒体控制器进行视频. 我尝试使用 dispatchKeyevent ,它不起作用. 正在使用视频的活动代码: mc = new CustomMediaController(mVideo.getContext(), screenIcon) { @Override public void hide(){ } @Override public boolean dispatchKeyEvent(KeyEvent event){ if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) { super.hide(); ((Activity) getContext()).finish(); return true; } return super.dispatc
8 2024-03-26
编程技术问答社区
播放视频时,第一次按后退键没有被捕捉到 安卓系统
我有一个奇怪的错误,我无法弄清楚如何修复.我有一个视频播放器 - 一个播放视频的简单视频.现在,我已经实现了逻辑,以便当用户按下后面按钮时 - 告诉他再次按下后面按钮退出,当他退出时. 但是问题是第一个背部新闻没有被抓住!我不知道是什么原因引起的.一旦什么都没发生,我都会向后压,我再次按下,它向我展示了烤面包,上面写着"请再次按下以退出",然后再次按下它.无论我做什么,第一个都不会被抓住.这是onbackpressed() 的代码 public void onBackPressed() { if (doubleBackToExitPressedOnce) { super.onBackPressed(); finish(); } else { this.doubleBackToExitPressedOnce = true; Toast.mak
12 2024-03-26
编程技术问答社区
视频视图中的后退按钮的问题
我很难获取后退按钮在按下时实际完成活动.我正在运行一个非常简单的视频,使用progressDialog来显示加载对话框和onpreparedListener等.简单的东西.无论如何,当前我按下后面按钮时,它将仅取消progressDialog,然后留下黑屏,然后再次按下,progressDialog重新启动!!!然后,当我再次单击"返回"按钮时,它显示一个警报对话框:"无法播放视频".很烦人.感谢您的帮助. public class VideoActivity extends Activity { private VideoView mVideoView; private static ProgressDialog progressdialog; private String path; @Override public void onCreate(Bundle savedInstanceState) { super.o
6 2024-03-26
编程技术问答社区
在播放视频时禁用Android'的VideoView requestAudioFocus?
我正在构建一个记录并播放视频的应用程序.我想这样做,而不会影响背景音乐播放,即,如果我开始播放视频,我不想暂停其他应用程序的音频.但是,在Lollipop上,Android的Videoview类自动请求音频焦点VideoView.openVideo()称为: AudioManager am = (AudioManager) super.getSystemService(name); am.requestAudioFocus(null, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN); 关于如何解决这个问题的任何建议? 解决方案 从Android SDK开始,您可能需要使用VideoView和 if(Build.VERSION.SDK_INT >= Build.Version_CODES.O){ //set this BEFORE start playback videoView.
22 2024-03-19
编程技术问答社区
VideoView不能正常播放视频中的音频
我有一个*.mp4文件,该文件持续2分钟.现在,它具有从30 seconds upto 1.10 min开始的音轨. 30s之前的其余部分和1.10min之后为空白. 现在问题是当我尝试在videoview或mediaplayer中播放它时,它从视频的开始就从其实际位置播放了音频.我在多个手机上尝试了这一点. 当我在MXPlayer或Windows(VLC)中播放相同的视频时;它播放得当. 解决这个问题的方法是什么? 编辑 我已经使用-itsoffset Ffmpeg的命令来实现上述视频. ffmpeg -y -i a.mp4 -itsoffset 00:00:30 sng.m4a -map 0:0 -map 1:0 -c:v copy -preset ultrafast out.mp4 预先感谢. 解决方案 好的,最后我仅添加1个选项-async 解决了问题 ffmpeg -y -i a.mp4 -itsoffset 00:00:30
10 2024-03-19
编程技术问答社区
安卓谷歌音乐应用在我的介绍视频播放时停止了
我正在使用Android应用程序中的视频视图来显示介绍动画. 如果Google Music应用程序在后台播放音乐,请致电Videoview.start()停止在后台在Google Music应用中播放音乐. 有没有办法确保背景中的任何音乐都可以同时使用我的介绍视频播放? (没有音频) 谢谢! 解决方案 事实证明,当任何视频开始播放时,Google音乐应用程序和其他一些应用程序都会停止音乐. 为了确保我不会打扰用户的聆听体验,如果我确定背景中有音乐播放,现在跳过介绍视频. 这样做: AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE); if (am.isMusicActive()) { loadApp(); // skip video and go straight to the app } else { videoView.sta
14 2024-03-19
编程技术问答社区
如何防止VideoView/MediaPlayer停止其他应用程序'音频?
在一个屏幕中,我有一个循环的背景视频(显示了正常的UI元素),并用这样的视频实现: String resPath = "android.resource://" + getPackageName() + "/" + R.raw.bg_video; videoView.setVideoURI(Uri.parse(resPath)); // Hide controls: MediaController controller = new MediaController(getActivity()); controller.setVisibility(View.GONE); videoView.setMediaController(controller); // Use looping: videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void
16 2024-03-19
编程技术问答社区
如何在安卓系统中从assets文件夹的子文件夹中播放视频
我正在尝试从资产文件夹的子文件夹中播放视频. 我在资产文件夹中创建了一个文件夹xyz. 这是我的代码: String uriPath = "android.resource://"+ getPackageName() + "/assets/xyz/"+"age.mp4"; videoView.setVideoURI(Uri.parse(uri)); // videoView.setMediaController(new MediaController(this)); videoView.setMediaController(null); videoView.requestFocus(); videoView.start(); 但是它给了我错误E/MediaPlayer(11068): error (1, -2147483648) 也尝试了此代码: public void Play(String fileName)
10 2024-03-17
编程技术问答社区
ArCore Sceneform: 检测图像时播放.mp4视频
当我找到图像时,我想在上面放置文本和视频.文本视图放置在场景上,但视频不是,它只是添加到我中间的我的主要布局中. 我正在使用组件视频,我不确定这是问题 override fun onCreate(savedInstanceState: Bundle?) { (....) arFragment!!.arSceneView.scene.addOnUpdateListener { this.onUpdateFrame(it) } arSceneView = arFragment!!.arSceneView } private fun onUpdateFrame(frameTime: FrameTime) { val frame = arFragment!!.arSceneView.arFrame val augmentedImages = frame.getUpdatedTrackables(AugmentedIma
18 2024-03-03
编程技术问答社区
Android从VideoView获取视频源路径
我有视频.我需要从中了解视频源路径. 有可能吗?有人可以帮我吗? 我来自WebChromeclient类的代码是: @Override public void onShowCustomView(final View view, final CustomViewCallback callback) { super.onShowCustomView(view, callback); if (view instanceof FrameLayout) { final FrameLayout frame = (FrameLayout) view; if (frame.getFocusedChild() instanceof VideoView) { // get video view video = (VideoView) frame.getFocusedChild();
在安卓系统中把任何视图放在视频视图上
有可能在视频评论上放置任何视图吗? (即,将控件按钮放在视频上,就像在Vimeo中一样).我正在尝试使用framelayout做到这一点,但是我还没有找到道路,但我仍然不确定我是否想做什么是根本不可能的. 解决方案 我对Framelayout做这种事情.您需要做的是确保控件在布局编辑器中的视频下方.
22 2024-02-19
编程技术问答社区
Android TextureView与VideoView的性能对比
我需要能够在屏幕上旋转视频,因此我创建了一个自定义纹理视图,该视图在媒体播放器上提供了一个便利层,类似于当前视频的实现方式. 这个Android Blog port 关于TextureView: 由于SurfaceView的内容不存在于应用程序的窗口中,因此无法有效地转换(移动,缩放,旋转).这使得很难在listView或scrollview中使用表面视图. SurfaceView也无法与UI工具包的某些功能(例如褪色边缘或View.setalpha(). 为了解决这些问题,Android 4.0引入了一个名为TextureView的新小部件,该小部件依赖于硬件加速的2D渲染管道和SurfaceTexture. TextureView具有与SurfaceView相同的功能,但是与SurfaceView不同,它作为常规视图.例如,您可以使用textureView显示OpenGL场景或视频流.纹理视图本身可以动画,滚动等. 但是,看起来TextureView正在努力播放视频
8 2024-02-19
编程技术问答社区
安卓WebView html5视频强制全屏
我已经在这个问题上工作了至少一个星期.我已经在Stackoverflow中阅读了有关它的所有帖子,但我仍然没有建立解决方案,我开始认为这是不可能的. 我想在这样的布局中在网络浏览中显示HTML: 问题是,如果该html代码内部具有HTML5视频,则由于Android OS中的错误,它将被裁剪. ? 我尝试了许多解决方法,但它们似乎都没有起作用.我的最后尝试是在全屏上显示该视频的设备低于Jelly Bean(它们已修复了此版本的错误). 我对我必须显示的HTML没有任何控制权,因此我发现做某事的唯一方法是注入JavaScript代码.现在,我正在处理两个onshowcustomview以使其完整屏幕. setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPage
视频和图像查看器
我的代码中有问题吗? 我需要像Messenger App这样的应用程序播放故事 我想在自动或手动 中显示图像和视频列表 我做了,但我遇到了一些问题 首先: 当图像的页面查看并且下一页播放视频时,视频的声音在查看图像时正在播放,因为Pager加载了我使用的下一个片段 mviewpager.setoffscreenpagelimit(0);但是我没有做任何事情 第二个: 当我手动从视频移动到图像时,当我搜索解决方案时,视频不停止播放时,我发现了以下内容: public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (this.isVisible()) { if (!isVisibleToUser) // If we ar