我已经把mp3文件用ado的stream对象添加到了数据库中,但现在不知道如何读出音乐?
请高手赐教!

解决方案 »

  1.   

    Public Const SND_RESOURCE = &H40004
    Public Const SND_ASYNC = &H1         '  play asynchronously
    Public Const SND_MEMORY = &H4         '  lpszSoundName points to a memory file
    Public Const SND_NODEFAULT = &H2         '  silence not default, if sound not foundPublic Declare Function PlaySoundData Lib "winmm.dll" Alias "PlaySoundA" (lpData As Any, ByVal hModule As Long, ByVal dwFlags As Long) As LongPublic m_SndClick() As Byte
    m_SndClick = LoadResData("CLICK", "CUSTOM")'我这是从资源文件里取出声音的数据,你从难从数据库里取就行了!!Call PlaySoundData(m_SndClick(0), 0, SND_MEMORY Or SND_ASYNC Or SND_NODEFAULT)
      

  2.   

    这是用API函数来播放的声音,不用控件!!
      

  3.   

    一般不把这么大的文件放到数据库中。你可以尝试把MP3文件的路径存到数据库中,然后在数据库中根据歌名啊什么的查询到具体的某一个文件,然后调用mediaplayer对象去播放具体的文件,这样保证出声音,也不会因为巨大的数据库而影响查询速度。
      

  4.   

    用mediaplayer控件的属性或方法读不出来吗?
      

  5.   

    不行,MediaPlayer提供的接口有限。有一个麻烦方法,就是自己建一个虚拟服务器,让MediaPlayer连接到这个虚拟服务器,你再把这个数据作为流媒体送过去。不过非常麻烦,牵涉到大量的协议问题,甚至还需要声音压缩技术。