コード例 #1
0
 internal Microphone(uint id, string name)
 {
     handle         = id;
     Name           = name;
     bufferDuration = TimeSpan.FromSeconds(1.0);
     State          = MicrophoneState.Stopped;
 }
コード例 #2
0
ファイル: Microphone.cs プロジェクト: xiuzhifu/FNA
 public void Stop()
 {
     if (State == MicrophoneState.Started)
     {
         AudioDevice.ActiveMics.Remove(this);
         AudioDevice.ALDevice.StopDeviceCapture(nativeMic);
         nativeMic = IntPtr.Zero;
         State     = MicrophoneState.Stopped;
     }
 }
コード例 #3
0
 // Provides a simple method to check if a microphone is connected.
 // There is no guarantee that the microphone will not get disconnected at any time.
 // This method helps in simplifying the microphone enumeration code.
 public static bool IsConnected(this Microphone microphone)
 {
     try
     {
         MicrophoneState state = microphone.State;
         return(true);
     }
     catch (NoMicrophoneConnectedException)
     {
         return(false);
     }
 }
コード例 #4
0
ファイル: Microphone.cs プロジェクト: xiuzhifu/FNA
 public void Start()
 {
     if (State == MicrophoneState.Stopped)
     {
         nativeMic = AudioDevice.ALDevice.StartDeviceCapture(
             Name,
             SampleRate,
             GetSampleSizeInBytes(bufferDuration)
             );
         if (nativeMic == IntPtr.Zero)
         {
             throw new NoMicrophoneConnectedException(Name);
         }
         AudioDevice.ActiveMics.Add(this);
         State = MicrophoneState.Started;
     }
 }
コード例 #5
0
    void InitAudio()
    {
        if (_state != MicrophoneState.Off)
        {
            return;
        }

        for (int i = 0; i < Microphone.devices.Length; ++i)
        {
            if (Microphone.devices [i] != null)
            {
                _microphone = Microphone.devices [i];
                Debug.Log("Our first device is " + _microphone);
                _audio.clip = Microphone.Start(_microphone, true, 1, 44100);
                _audio.loop = true;
                _state      = MicrophoneState.Initialized;
            }
        }
    }
コード例 #6
0
        private void Record_Tap(object sender, System.Windows.Input.GestureEventArgs e)
        {
            MicrophoneState m = microphone.State;

            switch (myState)
            {
            case RecorderState.NOTHING_RECORDED:
                record();
                break;

            case RecorderState.RECORDED:
                play();
                break;

            default:
                stop();
                break;
            }
        }
コード例 #7
0
    void StartRecording()
    {
        if (_state != MicrophoneState.Initialized)
        {
            return;
        }

        if (!_audio.isPlaying && Microphone.IsRecording(_microphone))
        {
            if (Microphone.GetPosition(_microphone) == 0)
            {
                //Debug.Log ("not recording");
                return;
            }

            _audio.Play();

            _state = MicrophoneState.Recording;
        }
    }
コード例 #8
0
ファイル: Microphone.cs プロジェクト: xiuzhifu/FNA
 internal Microphone(string name)
 {
     Name           = name;
     bufferDuration = TimeSpan.FromSeconds(1.0);
     State          = MicrophoneState.Stopped;
 }
コード例 #9
0
ファイル: Microphone.cs プロジェクト: BlueLineGames/FNA
		public void Stop()
		{
			if (State == MicrophoneState.Started)
			{
				AudioDevice.ActiveMics.Remove(this);
				AudioDevice.ALDevice.StopDeviceCapture(nativeMic);
				nativeMic = IntPtr.Zero;
				State = MicrophoneState.Stopped;
			}
		}
コード例 #10
0
ファイル: Microphone.cs プロジェクト: BlueLineGames/FNA
		public void Start()
		{
			if (State == MicrophoneState.Stopped)
			{
				nativeMic = AudioDevice.ALDevice.StartDeviceCapture(
					Name,
					SampleRate,
					GetSampleSizeInBytes(bufferDuration)
				);
				if (nativeMic == IntPtr.Zero)
				{
					throw new NoMicrophoneConnectedException(Name);
				}
				AudioDevice.ActiveMics.Add(this);
				State = MicrophoneState.Started;
			}
		}
コード例 #11
0
 /// <summary>
 /// Creates a new <see cref="MicrophoneInputState"/> using the individual input states from another <see cref="MicrophoneInputState"/>.
 /// </summary>
 /// <param name="other">The <see cref="MicrophoneInputState"/> to take the individual input states from. Note that states are not cloned and will remain as references to the same objects.</param>
 public MicrophoneInputState(MicrophoneInputState other)
     : base(other)
 {
     Microphone = other.Microphone ?? new MicrophoneState();
 }
コード例 #12
0
 public KaraokeRulesetInputManagerInputState(InputState state)
     : base(state)
 {
     Microphone = new MicrophoneState();
 }
コード例 #13
0
 /// <summary>
 /// Creates a new <see cref="InputState"/> using given individual input states.
 /// </summary>
 /// <param name="microphone">The microphone state.</param>
 public MicrophoneInputState(MicrophoneState microphone)
 {
     Microphone = microphone ?? new MicrophoneState();
 }
コード例 #14
0
 public void Start()
 {
     FNAPlatform.StartMicrophone(handle);
     State = MicrophoneState.Started;
 }
コード例 #15
0
ファイル: Microphone.cs プロジェクト: BlueLineGames/FNA
		internal Microphone(string name)
		{
			Name = name;
			bufferDuration = TimeSpan.FromSeconds(1.0);
			State = MicrophoneState.Stopped;
		}
コード例 #16
0
 public void Stop()
 {
     FNAPlatform.StopMicrophone(handle);
     State = MicrophoneState.Stopped;
 }
コード例 #17
0
 public KaraokeRulesetInputManagerInputState(MicrophoneState microphone)
 {
     Microphone = microphone;
 }