मैं एक विंडोज फोन 8 एप्लिकेशन बनाने की कोशिश कर रहा हूं जिसमें वॉयस कमांड शामिल है। आवाज कमांड "कलाकार [कलाकार] के शीर्ष गीत क्या हैं" के आधार पर कुछ चला जाता है, और इसलिए मुझे "[कलाकार]" के लिए किसी प्रकार का वाइल्डकार्ड उपयोग करने की आवश्यकता है जो उपयोगकर्ता को किसी कलाकार को कहने की अनुमति देगा। एक वाक्यांश सूची में दुनिया के हर कलाकार को सूचीबद्ध किए बिना मैं यह कैसे कर सकता हूं?एक वाक्यांश सूची कैसे बनाएं जिसमें प्रत्येक शब्द (वाइल्डकार्ड) शामिल है?
उत्तर
यह निश्चित रूप से संभव है।
लघु उत्तर यह विंडोज फोन 8.1 में तथाकथित वाक्यांशों के साथ संभव है।
लंबा संस्करण
सबसे पहले आप ID_CAP_SPEECH_RECOGNITION
और ID_CAP_MICROPHONE
आवश्यकताओं की घोषणा करने की जरूरत है।
बाद में आप एक वीसीडी (वॉयस कमांड विवरण) फ़ाइल बनाते हैं। यह फ़ाइल मूल रूप से एक एक्सएमएल फ़ाइल है जो फ़ोन को "बताती है" के लिए क्या सुनती है। (नोट ए सुनो फॉर तत्व में वाइल्डकार्ड कार्यक्षमता को लागू करने के लिए घुंघराले ब्रेसिज़ की एक जोड़ी के अंदर एक तारांकन चरित्र शामिल हो सकता है। अधिक जानकारी के लिए, वॉइस कमांड तत्व और विशेषता संदर्भ (विंडोज फोन स्टोर ऐप्स) देखें।) (एमएसडीएन से लिया गया) आपके मामले में उदाहरण के लिए इस फ़ाइल को इस प्रकार दिखाई देगा:
using Windows.Phone.Speech.VoiceCommands;
private async void Application_Launching(object sender,
LaunchingEventArgs e)
{
try
{
await VoiceCommandService.InstallCommandSetsFromFileAsync(
new Uri("ms-appx:///SuperMusicFinderVCD.xml"));
}
catch (Exception ex)
{
// Handle exception
}
}
आवाज कमान संभाल करने के लिए बस निम्न कार्य करें::
<?xml version="1.0" encoding="utf-8"?>
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.1">
<CommandSet xml:lang="en-us" Name="SuperMusicFinder">
<!-- Command set for all US English commands-->
<CommandPrefix>SuperMusicFinder</CommandPrefix>
<Example>Find Top 10 from Europe</Example>
<Command Name="findCharts">
<Example>Find Europe Top 40</Example>
<ListenFor>Find [Europe Top40] {chartlist}</ListenFor>
<ListenFor>Get [US Top100] charts {chartlist}</ListenFor>
<Feedback>Looking up the charts for you-...</Feedback>
<Navigate />
<!-- Navigation defaults to Main page -->
</Command>
<Command Name="topSongs">
<Example>Show top songs by Pharrell Williams</Example>
<ListenFor>Show [number] {num} songs by [Pink]{artist} </ListenFor>
<ListenFor>Give me [number] {num} songs by [Beethoven]{artist}</ListenFor>
<ListenFor>Show [top songs] by [Pharell Williams]</ListenFor>
<Feedback>Okay, I got that. I will look up the songs you want!</Feedback>
<Navigate Target="/artistSong.xaml"/>
</Command>
<PhraseList Label="num">
<Item> 1 </Item>
<Item> 2 </Item>
<Item> 3 </Item>
</PhraseList>
<PhraseTopic label="chartlist" Scenario="Chartlisting" />
<PhraseTopic label="artist" Scenario="Artist" />
</CommandSet>
</VoiceCommands>
तो फिर तुम App.xaml.cs फ़ाइल में अपने वीसीडी initalize की जरूरत यदि आप उदाहरण के लिए कहते हैं: "सुपरम्यूजिकफाइंडर पी द्वारा शीर्ष गीत दिखाता है हैरेल विलियम्स "इस अनुरोध के लिए क्वेरी इस तरह की तरह दिखती है: " /artistSong.xaml?voiceCommandName = topSongs & द्वारा = Pharell% 20Williams & Reco = दिखाने% 20top% 20songs% Pharell% 20Williams "
private void artistSong_Loaded(object sender, RoutedEventArgs e)
{
if (this.NavigationContext.QueryString != null
&& this.NavigationContext.QueryString.ContainsKey("voiceCommandName"))
{
// Page was launched by Voice Command
string commandName =
NavigationContext.QueryString["voiceCommandName"];
string spokenNumber = "";
if (commandName == "topSongs" &&
this.NavigationContext.QueryString.TryGetValue("by",
out artist))
{
//do whatever you want to do
}
}
}
}
आप अधिक जानकारी के here पा सकते हैं - नोट: सभी कोड के टुकड़े है कि नमूने से लिया और संपादित किया गया फिट करने के लिए यह प्रश्न, 100% सुनिश्चित नहीं है कि यह काम करता है, तो आप एक नमूना कोड प्राप्त कर सकते हैं जो 8.1 पर "उन्नत" आदेशों के साथ काम करता है या 8.0 पर सरल आदेश here
यह सबसे अच्छा जवाब है, इसे चिह्नित करते हुए (जब तक कि कोई असहमत न हो?) – MatthewSot
@ डैनियल स्टीनर - क्या होगा यदि मैं इस वाक्यांश में "25% $ 25.56" या "18 डॉलर 25 सेंट पर 18 प्रतिशत" की संख्या को पहचानना चाहता हूं? – devcoder
यह एक ईश्वरीय प्रश्न है, मुझे सच में यकीन नहीं है लेकिन मैं देख सकता हूं कि मुझे उस पर कुछ मिल सकता है या नहीं। –
क्या "{*}" काम के शीर्ष गीत क्या हैं? कम से कम प्रलेखन कॉन्फ़िगरेशन में सुनिफोर तत्व के लिए इसका उल्लेख करता है। Voice command element and attribute reference for Windows Phone 8
मैंने कोशिश की, लेकिन जब मैंने अपने कोड से वॉइस कमांड तक पहुंचने का प्रयास किया तो यह "शीर्ष गीत क्या हैं ..." लौटा। – MatthewSot
नहीं, WP8 वॉयस कमांड वाक्यांश सूची में वाइल्डकार्ड का समर्थन नहीं करते हैं। समस्या यह है कि, WP8 एक निश्चित वाक्यांश सूची के बिना ऑडियो पर स्थानीय भाषण मान्यता निष्पादित करने में सक्षम नहीं होगा। वाइल्डकार्ड वाक्यांशों के लिए WP8 को क्लाउड में भाषण-से-टेक्स्ट करना होगा जब भी उपयोगकर्ता ने WP8 के वॉइस कमांड का उपयोग किया था और यह एक अच्छा यूएक्स नहीं है।
अभी वॉयस कमांड में समर्थित वाक्यांशों की अधिकतम संख्या 2,000 phrases है। यह एक ही ऐप के लिए सभी आदेशों में है। और यह सीमा असंबद्धता को आसान बनाने और उपभोक्ताओं को अधिक सटीक परिणामों के साथ प्रदान करने के लिए है। कुल मिलाकर, असंबद्धता को और सटीक बनाने के लिए जितना संभव हो उतना वाक्यांशों का उपयोग करना सबसे अच्छा है।
एक उचित उपयोगकेस के लिए एक अनुशंसित कामकाज है जिसके लिए ध्वनि आदेशों में वाइल्डकार्ड वाक्यांशों की आवश्यकता है। चरण एक, एक "*" आवाज कमांड है जो सही वाक्यविन्यास के लिए ऐप लॉन्च करता है। एक बार ऐप खुलने के बाद, उपयोगकर्ता को अपने विशिष्ट कमांड को दोहराए जाने के बाद ऐप में भाषण-टू-टेक्स्ट का उपयोग करें (SpeechRecognizer का उपयोग करके) और क्लाउड में भाषण-टू-टेक्स्ट ट्रिगर करेगा।
हम्म, मैंने सोचा कि यह सच था, लेकिन फिर मैंने रुडी हुइन द्वारा विकिपीडिया ऐप देखा। वह ऐप आपको स्पीच रिकग्निशन से इच्छित किसी भी शब्द की खोज करने देता है। यकीन नहीं है कि वह ऐसा कैसे करता है लेकिन यह संभव दिखता है। – msbg
- 1. एक ऐसी सूची बनाएं जिसमें फ़ाइल की प्रत्येक पंक्ति
- 2. एक सूची में शामिल होना जिसमें पाइथन
- 3. MySQL: कॉलम में शब्दों की सूची से शब्द शामिल है
- 4. एक बटन कैसे बनाएं जिसमें एकाधिक दृश्य शामिल हों?
- 5. एक जेएआर फ़ाइल कैसे बनाएं जिसमें डीएलएल फाइलें शामिल हों?
- 6. लुसीन: खोज शब्द के रूप में मल्टी-शब्द वाक्यांश
- 7. LINQ2SQL तरह कमान वाक्यांश
- 8. गणना करें कि फ़ाइल में शब्द सूची से प्रत्येक शब्द कितनी बार प्रकट होता है?
- 9. एनएसआरएल कैसे बनाएं जिसमें एक | (पाइप चरित्र)?
- 10. डॉस: निर्देशिका सूची जिसमें फ़ाइल प्रकार शामिल नहीं है?
- 11. छवि स्रोत खोजें जिसमें: शामिल है?
- 12. एक सिंगल जार बनाएं जिसमें मैवेन
- 13. सोलर समानार्थी शब्द कैसे बनाएं
- 14. नियमित अभिव्यक्ति जिसमें यूनिकोड शब्द
- 15. ग्रहण एक वाक्यांश/regexp
- 16. जावा: क्लिपिंग क्षेत्र बनाएं जिसमें छेद है?
- 17. एक स्टैंडअलोन विंडोज एक्सई बनाएं जिसमें pythonXX.dll
- 18. एक कंस्ट्रक्टर के साथ एक वसंत बीन कैसे लिखना है जिसमें एक सूची है?
- 19. सिंथेटिक अंग्रेजी वाक्यांश लिखें जिसमें पुनर्प्राप्ति योग्य जानकारी के 160 बिट होंगे
- 20. एक सूची में सबसे लोकप्रिय शब्द ढूँढना
- 21. HTTP स्थिति कोडों की व्यापक सूची जिसमें एक प्रतिक्रिया शरीर शामिल नहीं है
- 22. वाक्यांशों की पंक्तियों के लिए [प्रति पंक्ति एक शब्द] में शामिल हों [प्रति पंक्ति एकाधिक शब्द]
- 23. गिट सबमिशन जोड़ना जिसमें एक और सबमिशन शामिल है?
- 24. एक वेब ऐप स्थापना पैकेज बनाएँ, जिसमें "सबकुछ" शामिल है?
- 25. Backbone.js - एक संग्रह कैसे बनाएं जिसमें बाध्यकारी गुण हों
- 26. कोई लिंक कैसे बनाएं जिसमें एक छवि और टेक्स्ट हो?
- 27. एक शब्द में प्रत्येक शब्द को कैसे लपेटें, लेकिन टेक्स्ट स्वरूपण को बनाए रखें
- 28. वाइल्डकार्ड के साथ शब्द लुकअप के लिए कुशल डेटा संरचना
- 29. पायथन: एक मॉड्यूल नामकरण जिसमें दो शब्द का नाम
- 30. स्कैला सूची बनाएं [Int]
यह बेहद संभव है। यह ऐप, http: // www। windowsphone.com/en-us/store/app/wikipedia/fd40c569-2681-48df-9ff3-53ffd80aa9b5 ऐसा करता है। आप कह सकते हैं "विकिपीडिया, खोज हैलो दुनिया यह एक परीक्षा है" या कुछ और। और यह समुद्र होगा बस उस के लिए आरएच। – msbg
एक उपहार प्राप्त किया। भयानक व्याकरण के लिए खेद है, मैं बकाया संदेश – msbg
हाँ संपादित नहीं कर सकता, यह अब संभव है, WinRT और Silverlight 8.1 ऐप्स दोनों के लिए। –