Added support for changing the volume of AudioTrack as discussed in BUG=webrtc:6533
This is a short term solution to change the volume of an AudioTrack until applyConstraints for MediaStreamTracks has been implemented. This CL adds 1 new Java method & the relevant JNI file update: AudioTrack.java: public void setVolume(double volume); BUG=webrtc:6533 Review-Url: https://codereview.webrtc.org/2710683009 Cr-Commit-Position: refs/heads/master@{#17682}
This commit is contained in:
1
AUTHORS
1
AUTHORS
@ -12,6 +12,7 @@ Bridger Maxwell <bridgeyman@gmail.com>
|
|||||||
Christophe Dumez <ch.dumez@samsung.com>
|
Christophe Dumez <ch.dumez@samsung.com>
|
||||||
Cody Barnes <conceptgenesis@gmail.com>
|
Cody Barnes <conceptgenesis@gmail.com>
|
||||||
Colin Plumb
|
Colin Plumb
|
||||||
|
Dax Booysen <dax@younow.com>
|
||||||
Dmitry Lizin <sdkdimon@gmail.com>
|
Dmitry Lizin <sdkdimon@gmail.com>
|
||||||
Eric Rescorla, RTFM Inc. <ekr@rtfm.com>
|
Eric Rescorla, RTFM Inc. <ekr@rtfm.com>
|
||||||
Frederik Riedel, Frogg GmbH <frederik.riedel@frogg.io>
|
Frederik Riedel, Frogg GmbH <frederik.riedel@frogg.io>
|
||||||
|
@ -15,4 +15,13 @@ public class AudioTrack extends MediaStreamTrack {
|
|||||||
public AudioTrack(long nativeTrack) {
|
public AudioTrack(long nativeTrack) {
|
||||||
super(nativeTrack);
|
super(nativeTrack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Sets the volume for the underlying MediaSource. Volume is a gain value in the range
|
||||||
|
* 0 to 10.
|
||||||
|
*/
|
||||||
|
public void setVolume(double volume) {
|
||||||
|
nativeSetVolume(super.nativeTrack, volume);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static native void nativeSetVolume(long nativeTrack, double volume);
|
||||||
}
|
}
|
||||||
|
@ -1194,6 +1194,13 @@ JOW(void, PeerConnectionFactory_shutdownInternalTracer)(JNIEnv* jni, jclass) {
|
|||||||
rtc::tracing::ShutdownInternalTracer();
|
rtc::tracing::ShutdownInternalTracer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
JOW(void, AudioTrack_nativeSetVolume)
|
||||||
|
(JNIEnv*, jclass, jlong j_p, jdouble volume) {
|
||||||
|
rtc::scoped_refptr<AudioSourceInterface> source(
|
||||||
|
reinterpret_cast<AudioTrackInterface*>(j_p)->GetSource());
|
||||||
|
source->SetVolume(volume);
|
||||||
|
}
|
||||||
|
|
||||||
// Helper struct for working around the fact that CreatePeerConnectionFactory()
|
// Helper struct for working around the fact that CreatePeerConnectionFactory()
|
||||||
// comes in two flavors: either entirely automagical (constructing its own
|
// comes in two flavors: either entirely automagical (constructing its own
|
||||||
// threads and deleting them on teardown, but no external codec factory support)
|
// threads and deleting them on teardown, but no external codec factory support)
|
||||||
|
Reference in New Issue
Block a user