相关疑难解决方法(0)

在TextureView上播放视频

在Android TextureView的文档中,它说你可以使用TextureView来播放视频:但我似乎无法找到任何如何做到这一点的例子.有人知道吗?

我需要使用a,textureView因为我想为视频制作动画.我想播放.3gp/.mp4格式的视频,而不是来自相机的视频:)

任何帮助,将不胜感激..

更新:

解决方案是作为社区维基解答发布的

java video android video-streaming

52
推荐指数
2
解决办法
4万
查看次数

Android以编程方式拍摄屏幕截图

首先,我正在编写一个根应用程序,因此root权限不成问题.我搜索过并搜索过,发现很多代码对我来说从来没有用过,这是我到目前为止拼凑起来的东西.当我说sorta我的意思是它在我的/sdcard/test.png上生成一个图像但是该文件是0字节,显然无法查看.

public class ScreenShot extends Activity{

View content;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.blank);
    content = findViewById(R.id.blankview);
    getScreen();
}

private void getScreen(){
    Bitmap bitmap = content.getDrawingCache();
    File file = new File("/sdcard/test.png");
    try 
    {
        file.createNewFile();
        FileOutputStream ostream = new FileOutputStream(file);
        bitmap.compress(CompressFormat.PNG, 100, ostream);
        ostream.close();
    } 
    catch (Exception e) 
    {
        e.printStackTrace();
    }
}
}
Run Code Online (Sandbox Code Playgroud)

任何有关如何通过代码在Android屏幕截图拍摄的帮助将非常感谢谢谢!

===编辑===

以下是我正在使用的所有图像是在我的SD卡上制作的,不再是0bytes但是整个东西都是黑色的,上面没有任何内容.我已将活动绑定到我的搜索按钮,所以当我在手机上的某个地方时,我长按搜索,它应该拍摄屏幕截图但我只是得到一个黑色图像?一切都设置透明,所以我认为它应该抓住屏幕上的任何东西,但我只是一直变黑

表现

<activity android:name=".extras.ScreenShot"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:noHistory="true" >
    <intent-filter>
        <action android:name="android.intent.action.SEARCH_LONG_PRESS" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
    </activity>
Run Code Online (Sandbox Code Playgroud)

XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent" …
Run Code Online (Sandbox Code Playgroud)

android caching screenshot image bitmap

46
推荐指数
2
解决办法
4万
查看次数

VideoView getDrawingCache返回黑色

所以我试图做一个VideoView的屏幕截图.我认为最简单的方法是:

videoView.setDrawingCacheEnabled(true);
Run Code Online (Sandbox Code Playgroud)

然后我需要截取屏幕截图:

Bitmap screenshot = videoView.getDrawingCache();
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,我回来的位图每次都只是黑色.任何人都有这个成功吗?我也尝试过:

Bitmap bitmap = Bitmap.createBitmap(videoView.getWidth(), videoView.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
videoView.draw(canvas);
Run Code Online (Sandbox Code Playgroud)

但是再次,这给我一个黑色的图像.我可以看到VideoView几乎没有记录在Android javadocs中.有帮助吗?

android screenshot bitmap android-videoview

11
推荐指数
1
解决办法
1万
查看次数

android捕获视频帧

我需要获取一个视频文件的框架(它可能在sdcard,cache dir或app dir上).我在我的应用程序中有android.media包,我有类MediaMetadataRetriever.要将第一帧放入位图,我使用代码:

public static Bitmap getVideoFrame(Context context, Uri videoUri) {
    MediaMetadataRetriever retriever = new MediaMetadataRetriever();
    try {
        retriever.setMode(MediaMetadataRetriever.MODE_CAPTURE_FRAME_ONLY);
        retriever.setDataSource(context, videoUri);
        return retriever.captureFrame();
    } catch (IllegalArgumentException ex) {
        throw new RuntimeException();
    } catch (RuntimeException ex) {
        throw new RuntimeException();
    } finally {
        retriever.release();
    }
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.当我设置数据源时,它抛出异常(java.lang.RuntimeException:setDataSource failed:status = 0x80000000).你知道怎么让这段代码工作吗?或者你有没有使用ffmpeg或其他外部库的类似(简单)解决方案?videoUri是一个有效的uri(媒体播放器可以播放来自该URI的视频)

video android frame capture

7
推荐指数
2
解决办法
2万
查看次数