में जाने के साथ स्ट्रीमिंग मैं अपने विंडोज 8 स्टोर (पूर्व में मेट्रो) ऐप में किसी सर्वर से डेटा को MediaElement
में स्ट्रीम करना चाहता हूं। हालांकि, स्ट्रीमिंग करते समय मुझे स्ट्रीम को "रिकॉर्ड" करने की आवश्यकता है, इसलिए यदि अनुरोध किया जाता है तो इसे कैश से परोसा जा सकता है, इसलिए मैं सीधे यूआरएल को MediaElement
में फ़ीड नहीं करना चाहता हूं।विंडोज 8
वर्तमान में, बड़ी बाधा है कि MediaElement.SetSource()
एक IRandomAccessStream
, नहीं एक System.IO.Stream
स्वीकार करता है, जो कि मैं क्या HttpWebResponse.GetResponseStream()
से मिलता है।
कोड मैं अब है, काम करते हैं जो नहीं करता है:
var request = WebRequest.CreateHttp(url);
request.AllowReadStreamBuffering = false;
request.BeginGetResponse(ar =>
{
var response = ((HttpWebResponse)request.EndGetResponse(ar));
// this is System.IO.Stream:
var stream = response.GetResponseStream();
// this needs IRandomAccessStream:
MediaPlayer.SetSource(stream, "audio/mp3");
}, null);
वहाँ एक समाधान है कि मुझे ऑडियो स्ट्रीम करने के लिए अनुमति देता है है, लेकिन मेरे डिस्क पर धारा कॉपी करने के लिए जब यह रिमोट से पढ़ने समाप्त हो गया है की अनुमति देता है पक्ष?
आप इसे लगा बाहर है परिवर्तित करने के लिए मदद मिलेगी? असल में मुझे इसे स्टोर करने की आवश्यकता नहीं है, मैं बस इसे सीधे स्ट्रीम करना चाहता हूं। – esskar
@esskar वास्तव में नहीं। स्ट्रीमिंग सीधे यूआरएल, या 'InMemoryRandomAccessStream' प्रदान करके बहुत अच्छा काम करता है। समस्या स्ट्रीम को दो अलग-अलग स्थानों पर वितरित कर रही है। –
जानकारी के लिए धन्यवाद। मैंने 'स्रोत 'संपत्ति को सीधे सेट करने का प्रयास किया, लेकिन यह मेरे लिए काम नहीं करता है। (मुझे गहरे में कहीं नल-रेफ अपवाद मिलते हैं), और मुझे पता नहीं चला है कि 'IRandomAccessStream' URL को कैसे बनाएं। लेकिन मैं आज इस पर काम करूंगा। – esskar