⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.cs

📁 简单的Pocket录音和播放软件(只有四个按钮)
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.IO;
using OpenNETCF.Media;
using OpenNETCF.Media.WaveAudio;
using System.Windows.Forms;
using System.Reflection;

namespace PocketSoundPlay
{
    public partial class Form1 : Form
    {
        private SoundPlayer soundPlayer;
        private Recorder recorder;
        private Stream stream;
        private TimeSpan recordTimeSpan;
        private int startRecord;
        private int curRecord;
        string appPath;
        //string recorderFileName;
        public Form1()
        {
            InitializeComponent();
            InitMembers();
        }

        /// <summary>
        /// 初始化成员
        /// </summary>
        private void InitMembers()
        {
            appPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase.ToString());//程序目录
            lblRecorderTime.Text = "";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.InitialDirectory = appPath;
            openFileDialog1.Filter = "Wav files (wav)|*.wav";
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                soundPlayer = new SoundPlayer(openFileDialog1.FileName);
                textBox1.Text = openFileDialog1.FileName;
                soundPlayer.Play();
                button2.Enabled = true;
                button1.Enabled = false;
            }


        }

        private void button2_Click(object sender, EventArgs e)
        {
            soundPlayer.Stop();
            button1.Enabled = true;
            button2.Enabled = false;
        }

        private void btnRecorder_Click(object sender, EventArgs e)
        {

            string recorderFileName = System.IO.Path.Combine(appPath, DateTime.Now.ToString("yyMMddHHmmss") + ".wav");
            textBox1.Text = recorderFileName;
            stream = File.OpenWrite(recorderFileName);
            recorder = new Recorder();
            lblRecorderTime.Text = "00:00";
            timer1.Interval = 1000;
            timer1.Enabled = true;
            startRecord = Environment.TickCount;

            recorder.RecordFor(stream, 3600, SoundFormats.Stereo16bit22kHz);
            btnRecorder.Enabled = false;
            btnRecorderStop.Enabled = true;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            curRecord = (Environment.TickCount - startRecord)/1000;
            //int minutes = curRecord / 60;
            //int Seconds = curRecord % 60;
            lblRecorderTime.Text = string.Format("{0}:{1}", curRecord / 60, curRecord % 60);

        }

        private void btnRecorderStop_Click(object sender, EventArgs e)
        {
           
            recorder.Stop();
            btnRecorderStop.Enabled = false;
            btnRecorder.Enabled = true;
            timer1.Enabled = false;
        }

        private void Form1_Closed(object sender, EventArgs e)
        {
            if (soundPlayer != null)
            {
                soundPlayer.Stop();
            }

        }

    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -