मैं कुछ सी # विंडोज फोन पोर्टिंग कर रहा हूँ में एक उत्पन्न बफर से एक ध्वनि बजाना एक बफर से मनमाने ढंग से लगता है खेलने के लिए एक XNA SoundEffect इस्तेमाल किया। सबसे सरल मामलों में मैं केवल आवश्यक अवधि और आवृत्ति की साइन लहर बनाउंगा। अवधि और आवृत्ति दोनों अलग-अलग हो सकती हैं, इसलिए मैं MediaElements पर भरोसा नहीं करना चाहूंगा (जब तक कि बेस फ़ाइल की आवृत्ति को स्थानांतरित करने के लिए कोई रास्ता नहीं है, लेकिन यह केवल एक आवृत्ति पीढ़ी के साथ मेरी मदद करेगा)।Windows 8</p> <p>फोन क्षुधा के लिए खत्म 7 एप्लिकेशन को Windows 8 एप्लिकेशन
WinRT में XNA SoundEffectInstance के बराबर क्या है?
मुझे लगता है कि मुझे इसके लिए डायरेक्टएक्स का उपयोग करने की आवश्यकता होगी, लेकिन मुझे यकीन नहीं है कि अन्यथा सी #/एक्सएएमएल ऐप से इस बारे में कैसे जाना है। मैंने SharpDX पर एक नज़र डाली है, लेकिन ऐसा लगता है कि डायरेक्टसाउंड, सेकेंडरी बफर, माध्यमिक बफर वर्ग नहीं है जो मुझे लगता है कि मुझे उपयोग करने की आवश्यकता होगी।
मैंने ऊपर कई धारणाएं की हैं। हो सकता है कि मैं गलत वर्गों की तलाश कर रहा हूं या विंडोज 8 ऐप से मनमाने ढंग से ध्वनि उत्पन्न करने का एक बिल्कुल अलग तरीका है।
मुझे an example using XAudio2 from SharpDX to play a wav file via an AudioBuffer मिला। यह आशाजनक प्रतीत होता है, मुझे मूल फ़ाइल स्ट्रीम के लिए अपने जेनरेट किए गए ऑडियो बफर को प्रतिस्थापित करने की आवश्यकता होगी।
PM> इंस्टॉल करें-पैकेज SharpDX
PM> इंस्टॉल करें-पैकेज SharpDX.XAudio2
public void PlaySound()
{
XAudio2 xaudio;
MasteringVoice masteringVoice;
xaudio = new XAudio2();
masteringVoice = new MasteringVoice(xaudio);
var nativefilestream = new NativeFileStream(
@"Assets\SpeechOn.wav",
NativeFileMode.Open,
NativeFileAccess.Read,
NativeFileShare.Read);
var soundstream = new SoundStream(nativefilestream);
var waveFormat = soundstream.Format;
var buffer = new AudioBuffer
{
Stream = soundstream.ToDataStream(),
AudioBytes = (int)soundstream.Length,
Flags = BufferFlags.EndOfStream
};
var sourceVoice = new SourceVoice(xaudio, waveFormat, true);
// There is also support for shifting the frequency.
sourceVoice.SetFrequencyRatio(0.5f);
sourceVoice.SubmitSourceBuffer(buffer, soundstream.DecodedPacketsInfo);
sourceVoice.Start();
}
मैं ऐसे समाधान की तलाश में हूं जहां मुझे सीधे विंडोज फोन 8 में बफर्ड ऑडियो पैकेट से ऑडियो चलाने में सक्षम होना चाहिए? क्या आप एक कामकाजी उदाहरण पर रीडायरेक्ट कर सकते हैं। – sunder