我最近在用c#写一个windows mobile 6上的程序。我想用opennetcf实现一个录音和播放的功能。现在的问题是录音完全没问题,但是播放到5秒以后声音还后,但是画面就卡住了。但是我希望在屏幕上作一个简单的计时显示,现在的情况是每次只能计时到5秒,然后就一直卡着,一直到播放结束才恢复。下面是我的代码。public partial class voicePlayer : Form
    {
        public voicePlayer()
        {
            InitializeComponent();
            player = new Player();
            player.DonePlaying += new WaveDoneHandler(player_DonePlaying);
            timer = new Timer();
            timer.Interval = 1000;
            timer.Enabled = false;
            timer.Tick += new EventHandler(refreshTime);
        }        private Timer timer;
        private Player player;
        private Stream stream;
        private DateTime startTime;
        private bool pause = false;
        private int timeCount;        private void voicePlayer_Activated(object sender, EventArgs e)
        {
            play.Enabled = true;
            stop.Enabled = false;
            pause = false;
            play.Text = "Play";
        }        void refreshTime(object sender, EventArgs e)
        {
            timeCount++;
            time.Text = string.Format("{0:00:00:00}", timeCount);
            
            if (!player.Playing && !pause)
            {
                timeCount = 0;
                pause = false;
                timer.Enabled = false;
                play.Text = "Play";
                stop.Enabled = false;
                time.Text = "00:00:00";
            }
        }        private void play_Click(object sender, EventArgs e)
        {
            if (!pause && play.Text == "Play")
            {
                play.Text = "Pause";
                stop.Enabled = true;                timer.Enabled = true;
                stream = File.OpenRead(Form1.note);
                player.Play(stream);
                startTime = DateTime.Now;
            }
            else if (!pause && play.Text == "Pause")
            {
                player.Pause();
                play.Text = "Play";
                pause = true;
                timer.Enabled = false;
            }
            else
            {
                pause = false;
                play.Text = "Pause";
                player.Restart();
                timer.Enabled = true;
            }
        }        void player_DonePlaying(object sender, IntPtr wParam, IntPtr lParam)
        {        }        private void stop_Click(object sender, EventArgs e)
        {
            player.Stop();
            pause = false;
        }
    }