vb如何用mediapalyer控件定点播放MP3,也就是比方说MP3长3:20,要从1:50开始播放;或者有其他控件或方法实现这个功能?谢谢

解决方案 »

  1.   

    wmp控件(Windows Media Player)可以做到。wmp控件常用属性如下:URL:String;   指定媒体位置,本机或网络地址   
    uiMode:String;   播放器界面模式,可为Full,   Mini,   None,   Invisible   
    playState:integer;   播放状态,1=停止,2=暂停,3=播放,6=正在缓冲,9=正在连接,10=准备就绪   
    enableContextMenu:Boolean;   启用/禁用右键菜单   
    fullScreen:boolean;   是否全屏显示   
    [controls]   wmp.controls   //播放器基本控制   
    controls.play;   播放   
    controls.pause;   暂停   
    controls.stop;   停止   
    controls.currentPosition:double;   当前进度   
    controls.currentPositionString:string;   当前进度,字符串格式。如“00:23”   
    controls.fastForward;   快进   
    controls.fastReverse;   快退   
    controls.next;   下一曲   
    controls.previous;   上一曲   
    [settings]   wmp.settings   //播放器基本设置   
    settings.volume:integer;   音量,0-100   
    settings.autoStart:Boolean;   是否自动播放   
    settings.mute:Boolean;   是否静音   
    settings.playCount:integer;   播放次数   
    [currentMedia]   wmp.currentMedia   //当前媒体属性   
    currentMedia.duration:double;   媒体总长度   
    currentMedia.durationString:string;   媒体总长度,字符串格式。如“03:24”   
    currentMedia.getItemInfo(const   string);   获取当前媒体信息"Title"=媒体标题,"Author"=艺术家,"Copyright"=版权信息,"Description"=媒体内容描述,"Duration"=持续时间(秒),"FileSize"=文件大小,"FileType"=文件类型,"sourceURL"=原始地址   
    currentMedia.setItemInfo(const   string);   通过属性名设置媒体信息   
    currentMedia.name:string;   同   currentMedia.getItemInfo("Title")   
    [currentPlaylist]   wmp.currentPlaylist   //当前播放列表属性   
    currentPlaylist.count:integer;   当前播放列表所包含媒体数   
    currentPlaylist.Item[integer];   获取或设置指定项目媒体信息,其子属性同wmp.currentMedia   //2... 
    ==========WindowsMediaPlayer的常用属性和方法=========== 
    [基本属性]   
    URL:string                                                         可以指定媒体位置   
    enableContextMenu:Boolean   显示/不显示播放位置的右键菜单   
    fullScreen:boolean                                   全屏显示   
    stretchToFit:boolean                             非全屏状态时是否伸展到最佳大小   
    uMode:string                                                   播放器的模式,full:有下面的控制条;   none:只有播放部份没有控制条   
    playState:integer                                         当前控件状态,下面是三种基本状态:   
    3:正在播放   
    2:暂停   
    1:已停止   
    状态变化时会触发OnStatusChange事件   [controls]   
    可通过WindowsMediaPlayer.controls对播放器进行控制并取得相关的一些信息:   
      controls.play;               播放   
      controls.stop;               停止   
      controls.pause;             暂停   
      controls.currentPosition:Double   当前播放进度   
      controls.currentPositionString:string   时间格式的字符串   "0:32"   [currentMedia]   
    可以通过WindowsMediaPlayer.currentMedia取得当前媒体的信息   
      currentMedia.duration     Double   总长度   
      currentMedia.durationString   时间格式的字符串   "4:34"   [settings]   
    可以通过WindowsMediaPlayer.settings对播放器进行设置,包括音量和声道等。   
    settings.volume:integer   音量   (0-100)   
    settings.balance:integer   声道,通过它应该可以进行立体声、左声道、右声道的控制。
    -----------------------------------------------------------------------------
    要从1:50秒开始播放,很简单,只需要设置:  
           Windows Media Player1.controls.currentPositionString="01:50"
          Windows Media Player1.controls.play 
       
      

  2.   

    不对的,WindowsMediaPlayer1.Controls.currentPositionString = "01:50"  ,这个提示不能给予只读属性Private Sub Command1_Click()
    CommonDialog1.ShowOpen
    WindowsMediaPlayer1.URL = CommonDialog1.FileName
    WindowsMediaPlayer1.Controls.currentPositionString = "01:50"
    WindowsMediaPlayer1.Controls.play
    End Sub
      

  3.   

    不用mediaplayer用 mciSendString 搞定了