2009-04-11 27 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

私はちょうどWindowsのユーザーコントロールはそれを再生できるようにフォームembeddしているWPFユーザーコントロールの中にFlashオブジェクトを埋め込むための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オブジェクトを停止するユーザーコントロールをフォームであります
関連する問題