android_media_MediaPlayer_seekTo(JNIEnv *env, jobject thiz, int msec) { sp<MediaPlayer> mp = getMediaPlayer(env, thiz); if (mp == NULL ) { jniThrowException(env, "java/lang/IllegalStateException", NULL); return; } ALOGV("seekTo: %d(msec)", msec); current_time_log=0; env->CallVoidMethod(thiz,fields.print_log,PRINT_LOG_SEEKTO ,msec); process_media_player_call( env, thiz, mp->seekTo(msec), NULL, NULL ); }
时间: 2024-03-04 21:50:41 浏览: 56
这是一段 C++ 代码,用于在 Android 平台上实现 MediaPlayer 的 seekTo 方法。该方法接受一个整数参数 msec,表示要跳转到的媒体时间点(单位为毫秒)。首先,它通过 getMediaPlayer 函数获取 MediaPlayer 对象的引用。如果获取失败,则抛出 IllegalStateException 异常。然后,它记录当前时间并调用 print_log 方法打印日志。最后,它通过 process_media_player_call 函数调用 MediaPlayer 的 seekTo 方法进行跳转。如果跳转成功,则不返回任何值,否则抛出异常。
阅读全文