WebRTC'de, özellikle getUserMedia() öğesinden sonra ve herhangi bir sunucu bağlantısından önce, yalnızca yerel ses çalmayı susturmaya çalışıyorum. İş bulduğum seçeneklerden hiçbiri;WebRTC - Yerel ses çıkışının sesini kapatma
var audioTracks = localMediaStream.getAudioTracks();
// if MediaStream has reference to microphone
if (audioTracks[0]) {
audioTracks[0].enabled = false;
}
Bu teknik "çalışma" olarak da described here olmakla Chrome Sürümü 39.0.2171.95 (64-bit) (Ubuntu 14.04) burada başarısız: Muaz Khan'dan bu başarısız olur.
hacim artışı kullanarak çalışmak söylenirEk yöntemi:
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var audioContext = new AudioContext();
var source = audioContext.createMediaStreamSource(clientStream);
var volume = audioContext.createGain();
source.connect(volume);
volume.connect(audioContext.destination);
volume.gain.value = 0; //turn off the speakers
tl; dr Hoparlörlerimle benim mikrofondan giriş duymak istemiyoruz, ancak videomu görmek istiyorum görüntüsü.
Geçici çözüm
Bu geçici çözüm Benjamin Trent tarafından önerildi ve o kadar gibi video etiketi üzerinde sessiz niteliğini ayarlayarak sesi kapatır:
document.getElementById("html5vid").muted = true;
Also similar question, but its for video, so not the same
Neden sessiz html video etiketini ayarlanmamış? –
Bu benim durumumda ideal değil, ancak etikette "yalnızca" ses kısımı destekleniyor mu? –
video html etiketinin sessize alınması, videoyla ilişkilendirilen sesi keser. Video oynatmaya devam edecek ve akıştaki ses ve video parçaları hala erişilebilir olacak ve başka bir eşe gönderilebilecektir. Yine de, ubuntu'daki Chrome sürümünde ele alınması gereken bir hata buldunuz. –