首页 > 电脑专区 > 电脑教程 >

Unity Microphone教程之 打开麦克风录音实现

来源:互联网 2023-02-21 22:30:26 版权归原作者所有,如有侵权,请联系我们

Unity Microphone教程之 打开麦克风进行录音播放的实现。本节介绍,在Unity开发中,打开麦克风Microphone进行录音的实现,具体如下d5z办公区 - 实用经验教程分享!

工具/原料

  • Unity

方法/步骤

  • 1

    打开Unity,新建一个空工程,具体如下图d5z办公区 - 实用经验教程分享!

    Unity Microphone教程之 打开麦克风录音实现d5z办公区 - 实用经验教程分享!

  • 2

    在场景中添加 一个 Text 和 三个 Button,布局效果如下图d5z办公区 - 实用经验教程分享!

    Unity Microphone教程之 打开麦克风录音实现d5z办公区 - 实用经验教程分享!

    Unity Microphone教程之 打开麦克风录音实现d5z办公区 - 实用经验教程分享!

  • 3

    在工程中,新建一个脚本 UseMicrophone,双击脚本进行编译,具体如下图d5z办公区 - 实用经验教程分享!

    Unity Microphone教程之 打开麦克风录音实现d5z办公区 - 实用经验教程分享!

  • 3此文章非法爬取自百度经验
  • 4

    UseMicrophone 脚本的具体代码和代码说明如下图d5z办公区 - 实用经验教程分享!

    Unity Microphone教程之 打开麦克风录音实现d5z办公区 - 实用经验教程分享!

    Unity Microphone教程之 打开麦克风录音实现d5z办公区 - 实用经验教程分享!

    Unity Microphone教程之 打开麦克风录音实现d5z办公区 - 实用经验教程分享!

  • 5

    UseMicrophone 脚本的具体内容如下:d5z办公区 - 实用经验教程分享!

    using UnityEngine;d5z办公区 - 实用经验教程分享!

    using UnityEngine.UI;d5z办公区 - 实用经验教程分享!

    d5z办公区 - 实用经验教程分享!

    [RequireComponent(typeof(AudioSource))]d5z办公区 - 实用经验教程分享!

    public class UseMicrophone : MonoBehaviour {d5z办公区 - 实用经验教程分享!

    d5z办公区 - 实用经验教程分享!

    private AudioSource aud; d5z办公区 - 实用经验教程分享!

    public Text txt;d5z办公区 - 实用经验教程分享!

    public Button Startbtn;d5z办公区 - 实用经验教程分享!

    public Button Endbtn;d5z办公区 - 实用经验教程分享!

    public Button Playbtn;d5z办公区 - 实用经验教程分享!

    private bool isHaveMicrophone = false;d5z办公区 - 实用经验教程分享!

    private string[] devices;d5z办公区 - 实用经验教程分享!

    d5z办公区 - 实用经验教程分享!

    // Use this for initializationd5z办公区 - 实用经验教程分享!

    void Start () {d5z办公区 - 实用经验教程分享!

    aud = this.GetComponentAudioSource>();d5z办公区 - 实用经验教程分享!

    Startbtn.onClick.AddListener(OnClickStartBtn);d5z办公区 - 实用经验教程分享!

    Endbtn.onClick.AddListener(OnClickEndBtn);d5z办公区 - 实用经验教程分享!

    Playbtn.onClick.AddListener(OnClickPlayBtn);d5z办公区 - 实用经验教程分享!

    d5z办公区 - 实用经验教程分享!

    //获取麦克风设备,判断蛇摆是否有麦克风d5z办公区 - 实用经验教程分享!

    devices = Microphone.devices;d5z办公区 - 实用经验教程分享!

    if (devices.Length > 0)d5z办公区 - 实用经验教程分享!

    {d5z办公区 - 实用经验教程分享!

    isHaveMicrophone = true;d5z办公区 - 实用经验教程分享!

    txt.text = "设备有麦克风:" devices[0];d5z办公区 - 实用经验教程分享!

    }d5z办公区 - 实用经验教程分享!

    else {d5z办公区 - 实用经验教程分享!

    d5z办公区 - 实用经验教程分享!

    isHaveMicrophone = false;d5z办公区 - 实用经验教程分享!

    txt.text = "设备没有麦克风";d5z办公区 - 实用经验教程分享!

    }d5z办公区 - 实用经验教程分享!

    }d5z办公区 - 实用经验教程分享!

    d5z办公区 - 实用经验教程分享!

    private void OnClickStartBtn() {d5z办公区 - 实用经验教程分享!

    if ((isHaveMicrophone == false) || (Microphone.IsRecording(devices[0]))) {d5z办公区 - 实用经验教程分享!

    return;d5z办公区 - 实用经验教程分享!

    }d5z办公区 - 实用经验教程分享!

    //开始录音d5z办公区 - 实用经验教程分享!

    /*d5z办公区 - 实用经验教程分享!

    * public static AudioClip Start(string deviceName, bool loop, int lengthSec, int frequency);d5z办公区 - 实用经验教程分享!

    * deviceNameThe name of the device.d5z办公区 - 实用经验教程分享!

    * loopIndicates whether the recording should continue recording if lengthSec is reached,d5z办公区 - 实用经验教程分享!

    and wrap around and record from the beginning of the AudioClip.d5z办公区 - 实用经验教程分享!

    * lengthSecIs the length of the AudioClip produced by the recording.d5z办公区 - 实用经验教程分享!

    * frequencyThe sample rate of the AudioClip produced by the recording. d5z办公区 - 实用经验教程分享!

    */d5z办公区 - 实用经验教程分享!

    aud.clip = Microphone.Start(devices[0], true, 10, 44100);d5z办公区 - 实用经验教程分享!

    }d5z办公区 - 实用经验教程分享!

    d5z办公区 - 实用经验教程分享!

    private void OnClickEndBtn()d5z办公区 - 实用经验教程分享!

    {d5z办公区 - 实用经验教程分享!

    if ((isHaveMicrophone == false) || (!Microphone.IsRecording(devices[0])))d5z办公区 - 实用经验教程分享!

    {d5z办公区 - 实用经验教程分享!

    return;d5z办公区 - 实用经验教程分享!

    }d5z办公区 - 实用经验教程分享!

    //结束录音d5z办公区 - 实用经验教程分享!

    Microphone.End(devices[0]);d5z办公区 - 实用经验教程分享!

    }d5z办公区 - 实用经验教程分享!

    d5z办公区 - 实用经验教程分享!

    private void OnClickPlayBtn()d5z办公区 - 实用经验教程分享!

    {d5z办公区 - 实用经验教程分享!

    if ((isHaveMicrophone == false) || (Microphone.IsRecording(devices[0])d5z办公区 - 实用经验教程分享!

    || aud.clip == null ))d5z办公区 - 实用经验教程分享!

    {d5z办公区 - 实用经验教程分享!

    return;d5z办公区 - 实用经验教程分享!

    }d5z办公区 - 实用经验教程分享!

    //播放录音d5z办公区 - 实用经验教程分享!

    aud.Play();d5z办公区 - 实用经验教程分享!

    }d5z办公区 - 实用经验教程分享!

    }d5z办公区 - 实用经验教程分享!

  • 6

    脚本编译正确,回到Unity,把脚本挂载到 GameObject 上,对应进行赋值 Text 和 Button,在 电脑运行结果具体如下图d5z办公区 - 实用经验教程分享!

    Unity Microphone教程之 打开麦克风录音实现d5z办公区 - 实用经验教程分享!

    Unity Microphone教程之 打开麦克风录音实现d5z办公区 - 实用经验教程分享!

  • 7

    打包编译,在手机上,能正常录音并播放,具体如下图d5z办公区 - 实用经验教程分享!

    Unity Microphone教程之 打开麦克风录音实现d5z办公区 - 实用经验教程分享!

  • 注意事项

    • 您的支持,是我们不断坚持知识分享的动力,若帮到您,还请帮忙投票有得;若有疑问,请留言

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!d5z办公区 - 实用经验教程分享!


    标签: 麦克风教程录音实现

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号