|
4 | 4 | import android.content.Context;
|
5 | 5 | import android.hardware.Camera;
|
6 | 6 | import android.graphics.SurfaceTexture;
|
| 7 | +import android.media.AudioManager; |
7 | 8 | import android.util.Log;
|
8 | 9 | import android.util.LongSparseArray;
|
9 | 10 |
|
@@ -308,6 +309,11 @@ public void onMethodCall(MethodCall call, Result notSafeResult) {
|
308 | 309 | boolean mute = call.argument("mute");
|
309 | 310 | mediaStreamTrackSetMicrophoneMute(trackId, mute);
|
310 | 311 | result.success(null);
|
| 312 | + } else if (call.method.equals("enableSpeakerphone")) { |
| 313 | + String trackId = call.argument("trackId"); |
| 314 | + boolean enable = call.argument("enable"); |
| 315 | + mediaStreamTrackEnableSpeakerphone(trackId, enable); |
| 316 | + result.success(null); |
311 | 317 | } else if(call.method.equals("getDisplayMedia")) {
|
312 | 318 | Map<String, Object> constraints = call.argument("constraints");
|
313 | 319 | ConstraintsMap constraintsMap = new ConstraintsMap(constraints);
|
@@ -902,6 +908,16 @@ public void mediaStreamTrackSetMicrophoneMute(final String id, boolean mute) {
|
902 | 908 | }
|
903 | 909 | }
|
904 | 910 |
|
| 911 | + public void mediaStreamTrackEnableSpeakerphone(final String id, boolean enabled) { |
| 912 | + AudioManager audioManager = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE); |
| 913 | + |
| 914 | + try { |
| 915 | + audioManager.setSpeakerphoneOn(enabled); |
| 916 | + } catch (Exception e) { |
| 917 | + Log.e(TAG, "setSpeakerphoneOn(): error", e); |
| 918 | + } |
| 919 | + } |
| 920 | + |
905 | 921 | public void mediaStreamTrackRelease(final String streamId, final String _trackId) {
|
906 | 922 | MediaStream stream = localStreams.get(streamId);
|
907 | 923 | if (stream == null) {
|
|
0 commit comments