我从这里使用pinned-section-listview 并在滚动后得到以下错误,
07-31 17:52:46.640: E/InputEventReceiver(25288): Exception dispatching input event.
07-31 17:52:46.657: E/AndroidRuntime(25288): FATAL EXCEPTION: main
07-31 17:52:46.657: E/AndroidRuntime(25288): java.lang.ArrayIndexOutOfBoundsException: length=2; index=2
07-31 17:52:46.657: E/AndroidRuntime(25288): at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:6916)
07-31 17:52:46.657: E/AndroidRuntime(25288): at android.widget.AbsListView.trackMotionScroll(AbsListView.java:5442)
07-31 17:52:46.657: E/AndroidRuntime(25288): at android.widget.AbsListView.scrollIfNeeded(AbsListView.java:3310)
07-31 17:52:46.657: E/AndroidRuntime(25288): at android.widget.AbsListView.onTouchEvent(AbsListView.java:3654)
07-31 17:52:46.657: E/AndroidRuntime(25288): at android.view.View.dispatchTouchEvent(View.java:7143)
07-31 17:52:46.657: E/AndroidRuntime(25288): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2238)
07-31 17:52:46.657: E/AndroidRuntime(25288): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1935)
07-31 17:52:46.657: E/AndroidRuntime(25288): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2244)
07-31 17:52:46.657: E/AndroidRuntime(25288): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1949)
07-31 17:52:46.657: E/AndroidRuntime(25288): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2244)
07-31 17:52:46.657: E/AndroidRuntime(25288): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1949)
07-31 17:52:46.657: …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个应用程序来获取视频的所有帧并对其进行操作,我发现在 Android 上提取帧的最佳方法是使用 OpenCv lib。
我在使用 VideoCapture 对象的示例代码中看到,该对象接收视频路径并可以从中抓取帧,所以我编写了以下代码,但 capture.open() 并没有真正打开视频文件,即 capture.isOpen( ) 总是假的。
源代码:
#include <jni.h>
//opencv
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/video/background_segm.hpp>
#include <opencv2/core/mat.hpp>
//C
#include <stdio.h>
#include <string.h>
//C++
#include <iostream>
#include <sstream>
//Android
#include <android/log.h>
//#define LOGI(TAG,INFO) __android_log_print(ANDROID_LOG_INFO,INFO,__VA_ARGS__)
using namespace cv;
extern "C" {
JNIEXPORT void JNICALL Java_com_example_nativeopencvcheck_MainActivity_processVideo(JNIEnv* env,
jobject thsObj,jstring fileName) {
const char * fileNameNative;
jboolean isCopy;
fileNameNative = env->GetStringUTFChars(fileName, &isCopy);
//create the capture object
__android_log_print(ANDROID_LOG_ERROR, "From_Native",
"trying to open file: %s", fileNameNative);
VideoCapture capture(fileNameNative);
capture.open(fileNameNative);
if …Run Code Online (Sandbox Code Playgroud)