[Android] MediaPlayer: add setAudioOutputDevice

Thomas Guillem git at videolan.org
Wed Jul 8 11:08:31 CEST 2015


vlc-ports/android | branch: master | Thomas Guillem <thomas at gllm.fr> | Tue Jul  7 18:19:13 2015 +0200| [3c28ee36986b52ca9b97d111f44aff63d24e262a] | committer: Thomas Guillem

MediaPlayer: add setAudioOutputDevice

> http://git.videolan.org/gitweb.cgi/vlc-ports/android.git/?a=commit;h=3c28ee36986b52ca9b97d111f44aff63d24e262a
---

 libvlc/jni/libvlcjni-mediaplayer.c              |   23 +++++++++++++++++++++++
 libvlc/src/org/videolan/libvlc/MediaPlayer.java |   10 ++++++++++
 2 files changed, 33 insertions(+)

diff --git a/libvlc/jni/libvlcjni-mediaplayer.c b/libvlc/jni/libvlcjni-mediaplayer.c
index 2085cab..e27cbc0 100644
--- a/libvlc/jni/libvlcjni-mediaplayer.c
+++ b/libvlc/jni/libvlcjni-mediaplayer.c
@@ -482,6 +482,29 @@ Java_org_videolan_libvlc_MediaPlayer_nativeSetAudioOutput(JNIEnv *env,
     return i_ret == 0 ? true : false;
 }
 
+jboolean
+Java_org_videolan_libvlc_MediaPlayer_nativeSetAudioOutputDevice(JNIEnv *env,
+                                                                jobject thiz,
+                                                                jstring jid)
+{
+    const char* psz_id;
+    int i_ret;
+    vlcjni_object *p_obj = VLCJniObject_getInstance(env, thiz);
+
+    if (!p_obj)
+        return false;
+
+    if (!jid || !(psz_id = (*env)->GetStringUTFChars(env, jid, 0)))
+    {
+        throw_IllegalArgumentException(env, "aout invalid");
+        return false;
+    }
+
+    libvlc_audio_output_device_set(p_obj->u.p_mp, NULL, psz_id);
+    (*env)->ReleaseStringUTFChars(env, jid, psz_id);
+    return true;
+}
+
 static jobject
 mediaplayer_title_to_object(JNIEnv *env, libvlc_title_description_t *p_title)
 {
diff --git a/libvlc/src/org/videolan/libvlc/MediaPlayer.java b/libvlc/src/org/videolan/libvlc/MediaPlayer.java
index 4ac4161..c3f632d 100644
--- a/libvlc/src/org/videolan/libvlc/MediaPlayer.java
+++ b/libvlc/src/org/videolan/libvlc/MediaPlayer.java
@@ -447,6 +447,16 @@ public class MediaPlayer extends VLCObject<MediaPlayer.Event> {
     }
 
     /**
+     * Configures an explicit audio output device.
+     * Audio output will be moved to the device specified by the device identifier string.
+     *
+     * @return true on success.
+     */
+    public synchronized boolean setAudioOutputDevice(String id) {
+        return nativeSetAudioOutputDevice(id);
+    }
+
+    /**
      * Get the full description of available titles.
      *
      * @return the list of titles



More information about the Android mailing list