iT邦幫忙

DAY 18
2

Windows Mobile系列 第 18

[Windows Mobile]使用 OpenNETCF.Media.WaveAudio 播放音樂

  • 分享至 

  • xImage
  •  

在前一篇文章中,介紹如何使用OpenNETCF.Media.WaveAudio 作錄音,在本文中,將透過OpenNETCF.Media.WaveAudio 播放音樂
更多文章,請到我在點部落所建立的部落格「.NET菜鳥自救會」閱讀
http://www.dotblogs.com.tw/chou/

  1. 簡介
    在前一篇文章中,介紹如何使用OpenNETCF.Media.WaveAudio 作錄音,在本文中,將透過OpenNETCF.Media.WaveAudio 播放音樂

  2. 方法
    2.1 下載、加入參考、引用 OpenNetCF 於 C:\Program Files\Smart Device Framework\Bin\OpenNETCF.dll
    下載 Smart Device Framework

於專案中加入參考

2.2 使用 Player 類別
在 OpenNETCF 中,可使用 Play 類別進行播放,請參考以下程式碼與註解
http://www.opennetcf.com/library/sdf/html/b8f79788-d32c-2b7d-ce25-349f1d616259.htm

#region 使用 Player 類別播放
        Player player; // 宣告 Player 類別變數 player
        // 播放
        private void miPlay_Click(object sender, EventArgs e)
        {
            // 初始化 Player 類別變數 player
            player = new Player();
            Stream stream = File.OpenRead(file);
            player.Play(stream);
        }

        // 停止播放
        private void miStopP_Click(object sender, EventArgs e)
        {
            player.Stop();
        }
#endregion

2.3 具有錄音與播放的程式
當我們了解 Recorder 與 Player 類別的運作方式後,可以將程式合併,讓程式具有錄音與播放之功能。

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using OpenNETCF.Media.WaveAudio;
using System.IO;

namespace SmartDeviceProjectRecord
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        string file = "test.wav";

#region 使用 Recorder 類別錄音
        Recorder recorder; // 宣告 Recorder 類別變數 recorder

        // 錄音
        private void miRecord_Click(object sender, EventArgs e)
        {  
            // 初始化 Recorder 類別變數 recorder
            recorder = new Recorder();

            // 透過 Recorder.RecordFor 方法開始錄音
            // RecordFor(Stream 檔案, Int16 錄音時間(秒), SoundFormats 格式)
            Stream stream = File.OpenWrite(file);
            Int16 intRecordLength = 15;
            recorder.RecordFor(stream, intRecordLength, SoundFormats.Mono8bit11kHz);
        }

        // 停止錄音
        private void miStop_Click(object sender, EventArgs e)
        {
            recorder.Stop();
        }
#endregion

#region 使用 Player 類別播放
        Player player; // 宣告 Player 類別變數 player
        // 播放
        private void miPlay_Click(object sender, EventArgs e)
        {
            // 初始化 Player 類別變數 player
            player = new Player();
            Stream stream = File.OpenRead(file);
            player.Play(stream);
        }

        // 停止播放
        private void miStopP_Click(object sender, EventArgs e)
        {
            player.Stop();
        }
#endregion

    }
}

上一篇
[Windows Mobile]使用 OpenNETCF.Media.WaveAudio 錄音
下一篇
[Windows Mobile]使用 beeMobile4.net
系列文
Windows Mobile41
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言