📄 form1.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 + -