2009-12-14 42 views
5

Tôi đang cố phát âm thanh từ tài nguyên bằng .NET Compact Framework. Tôi đã thêm tệp âm thanh cho thuộc tính tài nguyên trong ứng dụng của mình và đang cố gắng sử dụng mã tham chiếu tệp tài nguyên mẫu bên dưới cho ...Cách phát âm thanh từ tài nguyên

SoundPlayer player = new SoundPlayer(Assembly.GetExecutingAssembly(). 
    GetManifestResourceStream("blessedwav.wav")); 
player.Play(); 

Nhưng mã này không phát âm thanh WAV. Làm cách nào để phát tệp âm thanh tài nguyên bằng .NET Compact Framework 3.5?

Trả lời

5

Hãy thử điều này:

//I added the file as a audio resource in my project 
SoundPlayer player = new SoundPlayer(Properties.Resources.recycle); 
player.Play(); 

Tôi không thử với .NET Compact Framework. Nhưng nó làm việc cho tôi trong C#.

+0

sáng thử mã này nhưng không hoạt động .Net CF, Hiển thị lỗi: Kết hợp phương thức quá tải tốt nhất cho System.Media.SoundPlayer.SoundPlayer (chuỗi) 'có một số đối số không hợp lệ. \t anyway Cảm ơn anuraj – user228502

+0

Hmm, vì vậy tôi nghĩ .Net CF chỉ nhận được một quá tải đang sử dụng chuỗi làm đối số. Sau đó, tại sao bạn không lưu tập tin vào một vị trí Temp và chơi nó từ đó. – Anuraj

6

Tôi đã nhận được giải pháp. Mã này đang làm việc rất tốt trong .NET Compact Framework:

// Convert a byte array to a stream 
using (var audioStream = new MemoryStream(Properties.Resources.full_song_wav)) 
{ 
    using (var player = new SoundPlayer(audioStream)) 
    { 
     player.Play() 
    } 
} 
+0

Rất vui khi biết bạn đã nhận được giải pháp :) – Anuraj

0
Resources.ResourceManager.GetStream("nudgeSound", Resources.Culture); 
System.IO.Stream s = Resources.ResourceManager.GetStream("nudgeSound", Resources.Culture); 
SoundPlayer player = new SoundPlayer(s); 
player.Play(); 
0

này nên làm việc cho bạn:

Stream str = Properties.Resources.YourWaveSoundFile; 
SoundPlayer plyr = new SoundPlayer(str); 
plyr.Play(); 

Đảm bảo bạn có using System.Media trên namespace của bạn.

Các vấn đề liên quan