开发环境VS2005
1.在做媒体播放器的时候,添加com组件中的Windows Media Player,可是在设置属性的时候却找不到ClickToPlay,EnablePositionControl,ShowTracker,ShowPositionControl,ShowAudioControl这些属性在哪设置?
另外在进行设置播放文件名的时候,使用如下代码:
//获得文件名
                    string mediaPath = ofDialog.FileName;
                    //设置播放文件名
                    axWindowsMediaPlayer1.FileName = mediaPath;//看书上使用的axMediaPlayer1.FileName,换上也不行
                    //播放文件
                    axWindowsMediaPlayer1.Play();//看书上使用的是axMediaPlayer1.Play(),换上也不行
                    this.textBox1.Text = mediaPath;
错误信息:
错误 CS0117: “AxWMPLib.AxWindowsMediaPlayer”并不包含“FileName”的定义
错误 CS0117: “AxWMPLib.AxWindowsMediaPlayer”并不包含“Play”的定义
错误 CS0117: “AxWMPLib.AxWindowsMediaPlayer”并不包含“FileName”的定义
错误 CS0117: “AxWMPLib.AxWindowsMediaPlayer”并不包含“Play”的定义
错误 CS0117: “AxWMPLib.AxWindowsMediaPlayer”并不包含“FileName”的定义
错误 CS0103: 当前上下文中不存在名称“meidaPath”
错误 CS0117: “AxWMPLib.AxWindowsMediaPlayer”并不包含“Play”的定义
求解决之道?
2.在使用Shockwave Flash Object组件播放Flash的时候,在工具箱里面添加了该组件,但是在Form1里面添加该控件的时候却显示“未能导入ActiveX控件。请确保它已正确注册”的错误。请问这个应该如何解决呢?或者说在哪注册呢?
3.在使用别人现成的媒体播放器的代码时,打开项目工程文件,却出现如下错误:
加载设计器时遇到一个或多个错误。这些错误在下面列出。一些错误可通过重新生成项目来修复,而另一些错误则需要更改代码。
路径的形式不合法。
接着列举了错误信息:
在 System.IO.Path.NormalizePathFast(String path, Boolean fullCheck)
在 System.IO.Path.GetFullPathInternal(String path)
在 System.Reflection.AssemblyName.GetAssemblyName(String assemblyFile)
在 Microsoft.VisualStudio.Design.VSTypeResolutionService.AddProjectDependencies(Project project)
在 Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.get_Assembly()
在 Microsoft.VisualStudio.Design.VSTypeResolutionService.AssemblyEntry.Search(String fullName, String typeName, Boolean ignoreTypeCase, Assembly& assembly, String description)
在 Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchProjectEntries(AssemblyName assemblyName, String typeName, Boolean ignoreTypeCase, Assembly& assembly)
在 Microsoft.VisualStudio.Design.VSTypeResolutionService.SearchEntries(AssemblyName assemblyName, String typeName, Boolean ignoreCase, Assembly& assembly, ReferenceType refType)
在 Microsoft.VisualStudio.Design.VSTypeResolutionService.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, ReferenceType refType)
在 Microsoft.VisualStudio.Design.Serialization.CodeDom.AggregateTypeResolutionService.GetType(String name, Boolean throwOnError, Boolean ignoreCase)
在 Microsoft.VisualStudio.Design.Serialization.CodeDom.AggregateTypeResolutionService.GetType(String name, Boolean throwOnError)
在 System.ComponentModel.Design.Serialization.CodeDomSerializerBase.GetType(ITypeResolutionService trs, String name, Dictionary`2 names)
在 System.ComponentModel.Design.Serialization.CodeDomSerializerBase.FillStatementTable(IDesignerSerializationManager manager, IDictionary table, Dictionary`2 names, CodeStatementCollection statements, String className)
在 System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, CodeTypeDeclaration declaration)
在 System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
在 Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
在 Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload) 
难道不和VS2005不兼容?
三个问题不知道是不是有点多了,我是新手,尽量多给分,还望各位师兄多多帮助我才是!
再次表示感谢!

解决方案 »

  1.   

    你的书本是什么书?是介绍.net下使用axWindowsMediaPlayer组件的书,还是其他的书?请参考:
       // 创见打开对话框对象实例
       OpenFileDialog open = new OpenFileDialog();
               //设置为可以打开多个文件
                open.Multiselect = true;
       //设置打开文件格式
                open.Filter = "Mp3文件|*.mp3|Wav文件|*.wav|Wma文件|*.wma|Wmv文件|*.wmv|所有格式|*.*";
       //判断是否单击确定按钮
                if (open.ShowDialog() == DialogResult.OK)
                {
                    //建立播放列表,名字为aa
                    axWindowsMediaPlayer1.currentPlaylist = axWindowsMediaPlayer1.newPlaylist("aa", "");
         //遍历打开的集合
                     foreach (string fn in open.FileNames)
                    {
                        //添加播放列表
                        axWindowsMediaPlayer1.currentPlaylist.appendItem(axWindowsMediaPlayer1.newMedia(fn));
                    }
       }
       //播放
       axWindowsMediaPlayer1.Ctlcontrols.play();
      

  2.   

    我参考的书籍是Visual C#.net范例入门与提高
    主要三个控件,一个Windows Media Player,两个Button,一个打开,一个播放
    打开的代码如下:
     private void toolStripMenuItem1_Click(object sender, EventArgs e)
            {
                OpenFileDialog ofDialog = new OpenFileDialog();
                //设置为可以打开多个文件
                ofDialog.Multiselect = true;
                //设置过滤器
                ofDialog.Filter = "Window Media 文件(*.asf;*.wm;*.wma)|*.asf;*.wm;*.wma"
                                  +"|媒体播放表(*.asx;*.wax;*.m3u;*.wvx)|*.asx;*.wax;*.m3u;*.wvx"
                                  +"|电影文件(MPEG)(*.mpeg;*.mpg)|*.mpeg;*.mpg"
                                  +"|视频文件(*.avi;*.wmv)|*.avi;*.wmv"
                                  +"|所有文件(*.*)|*.*";
                if (ofDialog.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        //获得文件名
                        string mediaPath = ofDialog.FileName;
                        //建立播放列表,名字为mediaPath
                        axWindowsMediaPlayer1.currentPlaylist = axWindowsMediaPlayer1.newPlaylist("mediaPath", "");
                        //遍历打开的集合
                        foreach (string fn in ofDialog.FileNames)
                        {
                            //添加播放列表
              axWindowsMediaPlayer1.currentPlaylist.appendItem(axWindowsMediaPlayer1.newMedia(fn));
                        }
                        axWindowsMediaPlayer1.Ctlcontrols.play();
                        this.textBox1.Text = mediaPath;
                    }
                    catch{
                        //错误信息
                        MessageBox.Show("无法播放此文件","警告",MessageBoxButtons.OK,MessageBoxIcon.Error);
                    }
                }
            }        private void button1_Click(object sender, EventArgs e)
            {
                //退出程序
                this.Close();
                Application.Exit();
            }        private void button1_Click(object sender, EventArgs e)
            {
            OpenFileDialog ofDialog = new OpenFileDialog();        //设置为可以打开多个文件
            ofDialog.Multiselect = true;            //设置过滤器
                ofDialog.Filter = "Window Media 文件(*.asf;*.wm;*.wma)|*.asf;*.wm;*.wma"
                                  +"|媒体播放表(*.asx;*.wax;*.m3u;*.wvx)|*.asx;*.wax;*.m3u;*.wvx"
                                  +"|电影文件(MPEG)(*.mpeg;*.mpg)|*.mpeg;*.mpg"
                                  +"|视频文件(*.avi;*.wmv)|*.avi;*.wmv"
                                  +"|所有文件(*.*)|*.*";
                if (ofDialog.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        //获得文件名
                        string mediaPath = ofDialog.FileName;                    //建立播放列表,名字为aa
                        axWindowsMediaPlayer1.currentPlaylist = axWindowsMediaPlayer1.newPlaylist("mediaPath", "");
                        //遍历打开的集合
                        foreach (string fn in ofDialog.FileNames)
                        {
                            //添加播放列表
                            axWindowsMediaPlayer1.currentPlaylist.appendItem(axWindowsMediaPlayer1.newMedia(fn));
                        }
                        //设置播放文件名
                        //axWindowsMediaPlayer1.FileName = mediaPath;
                        //播放文件
                       // axWindowsMediaPlayer1.Play();                    //播放
                        //axWindowsMediaPlayer1.Ctlcontrols.play();                    this.textBox1.Text = mediaPath;
                    }
                    catch{
                        //错误信息
                        MessageBox.Show("无法播放此文件","警告",MessageBoxButtons.OK,MessageBoxIcon.Error);
                    }
                }
            }播放代码:   private void button2_Click(object sender, EventArgs e)
            {
                if (this.textBox1.Text != "")
                {
                    try
                    {
                        //获得文件名
                        string mediaPath = this.textBox1.Text;
                        //设置播放文件名
                        axWindowsMediaPlayer1.FileName = meidaPath;
                        axWindowsMediaPlayer1.Ctlcontrols.play();
                    }
                    catch
                    {
                        //错误信息
                 MessageBox.Show("无法播放此文件","警告",MessageBoxButtons.OK,MessageBoxIcon.Error);
                    }
                }
                else
                {
                    //没有输入文件名
                    MessageBox.Show("请输入播放文件名称","警告",MessageBoxButtons.OK,MessageBoxIcon.Error);
                }
            }
    错误信息:黑体字那句代码
    “AxWMPLib.AxWindowsMediaPlayer”并不包含“FileName”的定义
    错误 CS0103: 当前上下文中不存在名称“meidaPath”
    相比之下少了其余的五个错误,不知道这两个错误应该如何解决呢?
    还望再次帮忙看哈~~~
      

  3.   

    其中toolStripMenuItem1_Click和toolStripMenuItem2_Click是工具栏里面的打开和退出的意思。主要使用Button按钮的打开(和菜单栏的打开功能一样,所以我认为代码上应该也是一样的)和播放功能!