尽管事情并不如我所希望的那样好,但我还是找到了答案。
以下是一些自解释的代码:
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == DialogResult.OK)
{
axQTControl1.URL = ofd.FileName;
axQTControl1.Movie.EventListeners.Add(QTEventClassesEnum.qtEventClassAudio,
QTEventIDsEnum.qtEventAudioBalanceDidChange, null, null);
axQTControl1.Movie.EventListeners.Add(QTEventClassesEnum.qtEventClassTemporal,
QTEventIDsEnum.qtEventTimeWillChange, null, null);
axQTControl1.Movie.EventListeners.Add(QTEventClassesEnum.qtEventClassAudio,
QTEventIDsEnum.qtEventAudioVolumeDidChange, null, null);
axQTControl1.Movie.EventListeners.Add(QTEventClassesEnum.qtEventClassApplicationRequest,
QTEventIDsEnum.qtEventAudioBalanceDidChange, null, null);
axQTControl1.Movie.EventListeners.Add(QTOLibrary.QTEventClassesEnum.qtEventClassProgress,
QTOLibrary.QTEventIDsEnum.qtEventExportProgress, null, null);
axQTControl1.Movie.EventListeners.Add(QTEventClassesEnum.qtEventClassStateChange,
QTEventIDsEnum.qtEventMovieDidEnd, null, null);
axQTControl1.Movie.EventListeners.Add(QTEventClassesEnum.qtEventClassStateChange,
QTEventIDsEnum.qtEventRateWillChange, null, null);
}
}
private void axQTControl1_QTEvent(object sender, AxQTOControlLib._IQTControlEvents_QTEventEvent e)
{
Console.WriteLine(e.eventID.ToString());
}
可以在这里找到正确的枚举组合信息:
http://books.google.ro/books?id=WwzK0JopNNAC&pg=PA96&lpg=PA96&dq=qtEventRateWillChange&source=bl&ots=hMWiINDDrX&sig=egFhnlvGX_vJZECx-5HXwxSAioc&hl=ro&ei=jMeQS8mBOKTYmwO2092uCw&sa=X&oi=book_result&ct=result&resnum=3&ved=0CA8Q6AEwAg#v=onepage&q=qtEventRateWillChange&f=false
如果链接无法打开,请在 Google Books 上搜索:
“QuickTime for .NET and COM developers by John Cromie”
我一直在希望有一种简单的方法来创建电影时间轴,但我一直没有找到。希望有人能在这里发布。
谢谢,
Mosu'