/// <summary> /// Find the microphone to use and return it's sample rate /// </summary> /// <returns>New Mic's sample rate</returns> internal int GetCurrentMicSampleRate() { //Make sure the requested mic index exists if (Microphone.devices.Length <= MicNumberToUse) { return(-1); } int minFreq; int maxFreq; Microphone.GetDeviceCaps(_currentMic, out minFreq, out maxFreq); int micSampleRate = MumbleClient.GetNearestSupportedSampleRate(maxFreq); NumSamplesPerOutgoingPacket = MumbleConstants.NUM_FRAMES_PER_OUTGOING_PACKET * micSampleRate / 100; print("Device: " + _currentMic + " has freq: " + minFreq + " to " + maxFreq + " setting to: " + micSampleRate); _currentMic = Microphone.devices[MicNumberToUse]; _voiceHoldSamples = Mathf.RoundToInt(micSampleRate * VoiceHoldSeconds); if (SendAudioOnStart && (VoiceSendingType == MicType.AlwaysSend || VoiceSendingType == MicType.Amplitude)) { StartSendingAudio(micSampleRate); } return(micSampleRate); }
/// <summary> /// Find the microphone to use and return it's sample rate /// </summary> /// <returns>New Mic's sample rate</returns> internal int InitializeMic() { //Make sure the requested mic index exists if (Microphone.devices.Length <= MicNumberToUse) { Debug.LogWarning("No microphone connected!"); return(-1); } _currentMic = Microphone.devices[MicNumberToUse]; int minFreq; int maxFreq; Microphone.GetDeviceCaps(_currentMic, out minFreq, out maxFreq); int micSampleRate = MumbleClient.GetNearestSupportedSampleRate(maxFreq); NumSamplesPerOutgoingPacket = MumbleConstants.NUM_FRAMES_PER_OUTGOING_PACKET * micSampleRate / 100; if (micSampleRate != 48000) { Debug.LogWarning("Using a possibly unsupported sample rate of " + micSampleRate + " things might get weird"); } Debug.Log("Device: " + _currentMic + " has freq: " + minFreq + " to " + maxFreq + " setting to: " + micSampleRate); _voiceHoldSamples = Mathf.RoundToInt(micSampleRate * VoiceHoldSeconds); if (SendAudioOnStart && (VoiceSendingType == MicType.AlwaysSend || VoiceSendingType == MicType.Amplitude)) { StartSendingAudio(micSampleRate); } return(micSampleRate); }
internal MumbleUdpConnection(IPEndPoint host, AudioDecodeThread audioDecodeThread, MumbleClient mumbleClient) { _host = host; _udpClient = new UdpClient(); _audioDecodeThread = audioDecodeThread; _mumbleClient = mumbleClient; }
public ManageAudioSendBuffer(OpusCodec codec, MumbleUdpConnection udpConnection, MumbleClient mumbleClient) { _udpConnection = udpConnection; _codec = codec; _mumbleClient = mumbleClient; _pcmArrays = new List <PcmArray>(); _encodingBuffer = new AudioEncodingBuffer(); }
public void Initialize(MumbleClient mumbleClient, UInt32 session, string mumbleusername) { Debug.Log("Initialized " + session, this); _mumbleClient = mumbleClient; _session = session; Debug.Log("Username: " + mumbleusername); this.MumbleUserName = mumbleusername; }
public ManageAudioSendBuffer(MumbleUdpConnection udpConnection, MumbleClient mumbleClient) { _udpConnection = udpConnection; _mumbleClient = mumbleClient; _pcmArrays = new List <PcmArray>(); _encodingBuffer = new AudioEncodingBuffer(); _waitHandle = new AutoResetEvent(false); }
public AudioDecodeThread(int outputSampleRate, int outputChannelCount, MumbleClient mumbleClient) { _mumbleClient = mumbleClient; _waitHandle = new AutoResetEvent(false); _outputSampleRate = outputSampleRate; _outputChannelCount = outputChannelCount; _decodeThread = new Thread(DecodeThread); _decodeThread.Start(); }
public ManageAudioSendBuffer(MumbleUdpConnection udpConnection, MumbleClient mumbleClient, int maxPositionalLength) { _isRunning = true; _udpConnection = udpConnection; _mumbleClient = mumbleClient; _pcmArrays = new List <PcmArray>(); _encodingBuffer = new AudioEncodingBuffer(); _waitHandle = new AutoResetEvent(false); _maxPositionalLength = maxPositionalLength; }
public void Reset() { _mumbleClient = null; Session = 0; OnAudioSample = null; _isPlaying = false; if (_audioSource != null) { _audioSource.Stop(); } }
public ManageAudioSendBuffer(OpusCodec codec, MumbleUdpConnection udpConnection, MumbleClient mumbleClient) { _udpConnection = udpConnection; _codec = codec; _mumbleClient = mumbleClient; _pcmArrays = new List <PcmArray>(); _encodingBuffer = new AudioEncodingBuffer(); _encodingThread = new Thread(EncodingThreadEntry) { IsBackground = true }; }
internal MumbleTcpConnection(IPEndPoint host, string hostname, UpdateOcbServerNonce updateOcbServerNonce, MumbleUdpConnection udpConnection, MumbleClient mumbleClient) { _host = host; _hostname = hostname; _mumbleClient = mumbleClient; _udpConnection = udpConnection; _tcpClient = new TcpClient(); _updateOcbServerNonce = updateOcbServerNonce; _processThread = new Thread(ProcessTcpData) { IsBackground = true }; }
internal MumbleUdpConnection(IPEndPoint host, MumbleClient mumbleClient) { _host = host; _udpClient = new UdpClient(); _mumbleClient = mumbleClient; }
public void Initialize(MumbleClient mumbleClient) { _mumbleClient = mumbleClient; }
public void Initialize(MumbleClient mumbleClient, UInt32 session) { //Debug.Log("Initialized " + session, this); _mumbleClient = mumbleClient; _session = session; }
public void Initialize(MumbleClient mumbleClient, UInt32 session) { _mumbleClient = mumbleClient; _session = session; }
public void Reset() { _mumbleClient = null; Session = 0; OnAudioSample = null; }