Exemplo n.º 1
0
        private void rtbContent_LinkClicked(object sender, LinkClickedEventArgs e)
        {
            Regex reg_voice = new Regex(@"(?<=播放语音\().+(?=\))");
            Regex reg_video = new Regex(@"(?<=播放视频\().+(?=\))");

            if (reg_voice.IsMatch(e.LinkText)) // 语音信息
            {
                FilgraphManager fm         = new FilgraphManager();
                string          msg_id     = reg_voice.Match(e.LinkText).Value;
                string          voice_file = m_wx_voices[msg_id];
                fm.RenderFile(voice_file);
                fm.Run();
            }
            else if (reg_video.IsMatch(e.LinkText)) // 视频信息
            {
                FilgraphManager fm         = new FilgraphManager();
                string          msg_id     = reg_video.Match(e.LinkText).Value;
                string          video_file = m_wx_videos[msg_id];
                fm.RenderFile(video_file);

                FrmVideo frm_video = new FrmVideo();
                frm_video.FM       = fm;
                frm_video.FileName = video_file;
                frm_video.Show();
            }
            else // 普通超链接
            {
                Process.Start(e.LinkText);
            }
        }
        //TODO Fichier déjà utilisé.... surement par Quartz. Essayer de libérer les ressources de la librairie
        public void Play(Guid id, byte[] file)
        {
            objFilterGraph = new FilgraphManager();
            audio = (IBasicAudio) objFilterGraph;
            //pb d'accès concurrenciel
            string path = ConfigurationManager.AppSettings["MediaCache"] + id + ".mp3";
            File.WriteAllBytes(path, file);

            objFilterGraph.RenderFile(path);
            objMediaPosition = objFilterGraph as IMediaPosition;

            objFilterGraph.Run();

            tmProgressionFlux = new Timer(1000) { Enabled = true };
            tmProgressionFlux.Elapsed += TmProgressionFluxTick;
            TimerResume();
        }
Exemplo n.º 3
0
 public override void Play()
 {
     _quartzFilgraphManager.Run();
     _isPaused = false;
 }