2009-04-11 3 views
0

C# 응용 프로그램에서 다양한 swf 파일을 재생해야합니다.AxShockwaveFlash를 사용할 때 C#의 SWF 파일이 일시 중지되지 않습니다.

그것들은 잘 동작하는 것 같지만 일시 중지하려고하면 다시 시도하면 패널에 처음으로 아무런 영향을 미치지 않습니다.

내가 사용하는 코드는 다음과 같습니다.

앞으로 되감기 & 앞으로도 아무런 효과가 없습니다.

모든 의견이나 도움을 주시면 감사하겠습니다.

데이비드 기사

namespace MyUI 
{ 
    public partial class ABWithSWF : MyAbstractABFrm 
    { 
     // Keep Track of whats happening 
     enum StateOfPlay {NotSet, Playing, Paused }; 

     private AxShockwaveFlashObjects.AxShockwaveFlash axShockwaveFlashCube = new AxShockwaveFlashObjects.AxShockwaveFlash(); 

     StateOfPlay playState = StateOfPlay.NotSet; 

     public ABWithSWF() 
     { 
      InitializeComponent(); 
      pnlSwf.Controls.Add(axShockwaveFlashCube); 
      axShockwaveFlashCube.Dock = DockStyle.Fill; 
     } 

     // One button that is either play or pause 
     private void btnPlay_Click(object sender, EventArgs e) 
     { 
      // File to play 
      string path = string.Format(@"{0}\graphical summary.swf", Utils.GetSWFPath()); 

      switch (playState) 
      { 
       case StateOfPlay.Paused: 
        axShockwaveFlashCube.Play(); 
        btnPlay.ImageIndex = 3; 
        playState = StateOfPlay.Playing; 
        break; 
       case StateOfPlay.Playing: 
        axShockwaveFlashCube.StopPlay(); 
        btnPlay.ImageIndex = 4; 
        playState = StateOfPlay.Paused; 
        break; 
       case StateOfPlay.NotSet: 
        axShockwaveFlashCube.LoadMovie(0, path); 
        axShockwaveFlashCube.Play(); 
        btnPlay.ImageIndex = 4; 
        playState = StateOfPlay.Playing; 
        break; 
      } 
     } 

     private void button2_Click(object sender, EventArgs e) 
     { 
      axShockwaveFlashCube.Rewind(); 
     } 

     private void button3_Click(object sender, EventArgs e) 
     { 
      axShockwaveFlashCube.Forward(); 
     } 
    } 
} 

답변

1

은 그냥 윈도우의 UserControl을 플레이 할 수 있도록 양식 embedd 할 수있는 WPF UserControl을로 플래시 개체를 포함하는 C#에서 프로젝트를 개발했습니다. axShockwaveFlashObjects 정지() methd 실제로 영화와 재생() 실제로을 재개 영화는 (또한 그것을 시작) 일시 중지되는 것을

그래서, 내 경험이다.

/// <summary> 
    /// Starts playing the movie, or resumes 
    /// it if it is paused. 
    /// </summary> 
    public void Play() 
    { 
     Stop(); 
     flash_control.Play(); 
    } 

    /// <summary> 
    /// Pauses the movie. To resume it, 
    /// call <see cref="Play()"/>. 
    /// </summary> 
    public void Pause() 
    { 
     flash_control.Stop(); 
    } 

    /// <summary> 
    /// Stops playing the movie 
    /// </summary> 
    public void Stop() 
    { 
     flash_control.Stop(); 
     flash_control.FrameNum = 0; 
    } 
: 여기

내가 내 Windows에서 사용하는 코드가, 재생 일시 정지, 다시 시작하고 SWF 개체를 중지 할 수있는 UserControl을 형성한다
관련 문제