You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
implement MediaMetadataRetriever on top of MediaPlayer
also add MediaPlayer.getDuration() and MediaPlayer.getCurrentPosition()
This commit is contained in:
@@ -39,6 +39,22 @@ JNIEXPORT void JNICALL Java_android_media_MediaPlayer_native_1setOnCompletionLis
|
||||
JNIEXPORT void JNICALL Java_android_media_MediaPlayer_native_1start
|
||||
(JNIEnv *, jclass, jlong);
|
||||
|
||||
/*
|
||||
* Class: android_media_MediaPlayer
|
||||
* Method: native_getDuration
|
||||
* Signature: (J)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_android_media_MediaPlayer_native_1getDuration
|
||||
(JNIEnv *, jclass, jlong);
|
||||
|
||||
/*
|
||||
* Class: android_media_MediaPlayer
|
||||
* Method: native_getCurrentPosition
|
||||
* Signature: (J)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_android_media_MediaPlayer_native_1getCurrentPosition
|
||||
(JNIEnv *, jclass, jlong);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -56,3 +56,19 @@ JNIEXPORT void JNICALL Java_android_media_MediaPlayer_native_1start(JNIEnv *env,
|
||||
gtk_media_stream_set_volume(media_stream, 1.0);
|
||||
gtk_media_stream_play(media_stream);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_android_media_MediaPlayer_native_1getDuration(JNIEnv *env, jclass this, jlong media_stream_ptr)
|
||||
{
|
||||
GtkMediaStream *media_stream = _PTR(media_stream_ptr);
|
||||
|
||||
// convert from microseconds to milliseconds
|
||||
return gtk_media_stream_get_duration(media_stream) / 1000;
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL Java_android_media_MediaPlayer_native_1getCurrentPosition(JNIEnv *env, jclass this, jlong media_stream_ptr)
|
||||
{
|
||||
GtkMediaStream *media_stream = _PTR(media_stream_ptr);
|
||||
|
||||
// convert from microseconds to milliseconds
|
||||
return gtk_media_stream_get_timestamp(media_stream) / 1000;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user