vb.net 播放声音

问题描述

DimsrAsStreamReader=NewStreamReader("C:UsersdoyuDesktoptempalarm.wav")DimsoundAsStream=NewMemoryStream(System.Text.Encoding.ASCII.GetBytes(sr.ReadToEnd()))DimyuAsSoundPlayer=NewSoundPlayer(sound)yu.play()paly的时候没异常,但是也没有声音,这是为什么啊?

解决方案

解决方案二:
用MemoryStream
解决方案三:
声明部分:DeclareFunctionFlashWindowLib"user32"(ByValhwndAsInteger,ByValbInvertAsBoolean)AsInteger'宣告APIPrivateDeclareFunctionmciSendStringALib"winmm.dll"_(ByVallpstrCommandAsString,ByVallpstrReturnStringAsString,_ByValuReturnLengthAsInteger,ByValhwndCallbackAsInteger)AsInteger以下是PrivateFunctionPlayMidiFile(ByValMusicFileAsString)AsBooleanIfSystem.IO.File.Exists(MusicFile)ThenmciSendStringA("stopmusic","",0,0)mciSendStringA("closemusic","",0,0)'mciSendStringA("open"&MusicFile&"aliasmusic","",0,0)mciSendStringA("open"&MusicFile&"aliasmusic","",0,0)PlayMidiFile=mciSendStringA("playmusic","",0,0)=0EndIfReturnNothingEndFunctionPrivateFunctionStopMidi()AsBooleanStopMidi=mciSendStringA("stopmusic","",0,0)=0mciSendStringA("closemusic","",0,0)EndFunctionPrivateFunctionPauseMidi()AsBooleanReturnmciSendStringA("pausemusic","",0,0)=0EndFunctionPrivateFunctionContinueMidi()AsBooleanReturnmciSendStringA("playmusic","",0,0)=0EndFunction以下是调用方法:PlayMidiFile(ptShortPath)'播放MP3音樂其中ptShortPath是mp3文件目录地址,注意这个地址中不能包含空格,否则不能正常播放,获取文件目录的短地址可以看以下这篇文章vb.net获取文件短地址方法http://www.spersky.com/post/478.html
解决方案四:
使用文件流播放?还不如直接调用WindowsMediaPlayer播放器控件。AxWindowsMediaPlayer1.URL=My.Computer.FileSystem.CurrentDirectory&"musicPowerOfTheHorde.mp3"‘循环播放AxWindowsMediaPlayer1.settings.setMode("loop",True)

时间: 2024-09-16 00:46:35

vb.net 播放声音的相关文章

走近VB.Net(十) 播放声音文件

因为考虑到有部分初学者VB6没有用过,所以我在源码中对每一句代码都进行了注释. 首先如下添加控件: 添加三个button控件,写代码如下: Imports System.ComponentModel '引用 族名 System.ComponentModel Imports System.Drawing '引用族名 System.Drawing Imports System.WinForms '引用族名 System.WinForms '引用族名的目的是在调用他的子类时不需要写出族名,如syste

用VB.Net实现DirectSound9 (4) DS3D

关键字:VB DirectX9 DirectSound 3D 作者:董含君 昨天去百度搜索DirectSound3D的资料,真是一点都没有.惊讶啊. google有一些,还是微软的.看来真的要填补国内空白了. 高手门看来都很忙啊. ========以上是废话================ 一开始看微软DSound3D的例子很困难,主要是术语太多,如果准备工作做的不够,可以说几乎看不懂. 从家里翻出一本DirectX的速成教材,看来有解释的必要. =========以下是正文==========

VB.NET实现DirectSound9 (6) 声音特效

关键字: VB.NET DirectSound 9 声音特效 回声Echo 作者:董含君转载请注明来自:http://blog.csdn.net/a11s 实际上这个就是传说的混音,微软把各种效果添加起来变成了混音程序严格的讲,这个算作声音的特效. 微软的DirectX的例子还有一个特点,就是爱把简单的问题复杂化,我用了大量的时间搞清出中间的各种对象怎样协作的,明白之后再来考虑各自的用途.虽然相信微软这么做也许是有道理的,但是不适合初学者.经过尝试整理出了以下结果. 首先大体介绍一下步骤====

如何用VB程序来播放WAV文件

程序 Wednesday, September 24 2003 1:24 PM 当一定事件完成时,程序发出特定的信号则可以增加程序的用户界面特性,比如在下载完成或者选择一个命令的时候.使用一个多媒体功能,通过一个VB程序来运行WAV文件是一件轻而易举的事情.然而,系统必须为这一操作而安装一个声卡. 你所需要的API函数称为PlaySound,以下为该函数的声明: Public Declare Function PlaySound Lib "winmm.dll" _ Alias &quo

VB.NET基础语法

很久以来,VB因为缺乏完善的面向对象支持.缺乏高效的错误处理机制和性能表现不佳,因而一直受到某些人的嘲笑.VB.NET将彻底改变这种情况.然而,VB.NET在这些方面的改进也要付出代价,许多旧的代码需要手工进行转换才能在VB.NET下运行. 下面几个表格总结了VB.NET语言在语法上的改动之处.注意这些表格并没有完全列出所有改动之处,但列出了最重要的一些改动. 表A对比了VB6中一些熟悉的语法形式及其在VB.NET中类似功能最接近的语法形式. 表A:语法对比旧语法 新语法 说明窗体装载事件,类初

VB.NET中有用的通用对象列表

要使用List(of T),我们需要了解如何部署.NET框架所提供的多种方法.这也将是本文要介绍的内容.我已经编写好了三个示例--使用ForEach, FindAll,和Sort--来阐述同样列表类的工作原理. 第一步是要创建一个同用列表.你可以从多种途径获取数据,但是最简单的方法是添加.文本中,我们会编写代码以便为举例中的集来分类.因此,下面我们就来讲讲创建集的代码. 首先,我需要一个能代表集中的Bottle的对象.为此而编写的代码是完全符合标准的,而且事实上,VB.NET 2008 Expr

VB.NET多线程应用

开发者一直要求微软为VB加入更多的多线程功能,对于VB.NET也是这样.VB6已经支持建立多线程的EXE.DLL和OCX.不过使用多线程这个词语,可能也不太确切.因此VB6仅支持运行多个单线程的单元.一个单元实际上是代码执行的空间,而单元的边界限制了代码访问任何单元以外的事物. VB.NET就不同了,它支持建立自由线程(free-threaded)的应用.这意味着多个线程可以访问同样一套的共享数据.本文的以下部分将讨论一下多线程的一些基本点. 问题 虽然VB6支持多个单线程的单元,不过它并不支持

VB.NET局部静态变量介绍

经过长时间学习VB.NET局部静态变量,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西.VB.NET能够实现很多C#不能做到的功能,如When语句.Optional参数.局部Static变量.对象实例访问静态方法.Handles绑定事件.On Error处理异常.Object直接后期绑定等等.VB和C#同属.NET的语言,编译出来的是同样的CIL,但为什么VB支持很多有趣的特性呢.我们一起来探究一下VB.NET局部静态变量. VB.NET局部静态变量 VB支持用Stati

使用VB.NET加密文件

加密 本文介绍使用XOR加密算法对数据进行加密, 这是一种很简单的算法,使用了尽量简单的VB编程方法,通俗易懂.我们可以采用更安全的算法如DES算法,IDEA算法等.各位如有任何见解,请不吝赐教. 在窗体中添加一RichTextBox,设置其Name属性为SourceFile,Multiline属性为True,ScrollBars属性为3-both.添加一MainMenu,设置一菜单项"文件",其下有"打开","保存","加密"