Android को टारगेट करने वाले एआर फ़ाउंडेशन की मदद से, रिकॉर्डिंग के दौरान कस्टम डेटा जोड़ें

रिकॉर्डिंग और प्लेबैक एपीआई की मदद से, किसी सेशन को रिकॉर्ड किया जा सकता है और रीयल-टाइम कैमरा फ़ीड की जगह इसका इस्तेमाल किया जा सकता है. हालांकि, इन रिकॉर्डिंग में सिर्फ़ वीडियो और सेंसर डेटा होता है. किसी सेशन की रिकॉर्डिंग में, अपनी पसंद के मुताबिक डेटा भी जोड़ा जा सकता है. ऐसा करने से, वीडियो चलने के दौरान आपको डेटा वापस मिल जाता है. भले ही, वह किसी कैमरे की इमेज का हिस्सा हो.

ARCore, रिकॉर्डिंग में अपने-आप कोई भी कस्टम डेटा शामिल नहीं करता है. इसके बजाय, यह आपको रिकॉर्डिंग के दौरान ARCore फ़्रेम में कस्टम डेटा जोड़ने और वीडियो चलाने के दौरान फ़्रेम से उसी डेटा को वापस पाने की सुविधा देता है. यह आपकी ज़िम्मेदारी है कि आप ऐप्लिकेशन को इस तरह प्रोग्राम करें कि जब उपयोगकर्ता अपना सेशन फिर से चलाए, तो उसे वह डेटा वापस मिल जाए जिसकी उसे उम्मीद थी.

कस्टम डेटा के लिए उपयोग के उदाहरण

रिकॉर्डिंग में अपनी पसंद के मुताबिक डेटा जोड़ने से, आपके एआर ऐप्लिकेशन का इस्तेमाल करना ज़्यादा आसान हो जाता है. नीचे कुछ खास इस्तेमाल के उदाहरण दिए गए हैं.

एआर का इस्तेमाल कभी भी, कहीं भी करने के लिए

पहले, लोग सही जगह और सही समय पर सिर्फ़ एआर (ऑगमेंटेड रिएलिटी) के अनुभव ऐक्सेस कर सकते थे. अगर वे अपने लिविंग रूम में एआर (ऑगमेंटेड रिएलिटी) लैंप रखना चाहते थे, तो उन्हें उस जगह पर खड़े होकर देखना होता था कि वहां लैंप कैसा दिखेगा. पसंद के मुताबिक बनाए गए ट्रैक की मदद से, वे अपने लिविंग रूम को एक बार रिकॉर्ड कर सकते हैं और जब चाहें, तब वर्चुअल फ़र्नीचर को सीन में शामिल कर सकते हैं.

एआर (ऑगमेंटेड रिएलिटी) के अनुभव को साथ मिलकर तैयार करें

लाइव सेशन के बिना, उपयोगकर्ताओं के पास एआर (ऑगमेंटेड रिएलिटी) में बदलाव करने के कई विकल्प होते हैं. इनकी मदद से, वे किसी भी जगह और समय पर यूनीक एआर कॉन्टेंट बना सकते हैं और उसे ऐक्सेस कर सकते हैं. उदाहरण के लिए, वे किसी आस-पास की जगह की जानकारी को रिकॉर्ड कर सकते हैं, ऑगमेंटेड रिएलिटी (एआर) इफ़ेक्ट का इस्तेमाल कर सकते हैं, और उन्हें दोस्तों के साथ शेयर कर सकते हैं.

ज़रूरी शर्तें

आगे बढ़ने से पहले, पक्का करें कि आपने बुनियादी एआर (ऑगमेंटेड रिएलिटी) सिद्धांत और ARCore सेशन को कॉन्फ़िगर करने का तरीका समझ लिया है.

कस्टम डेटा के साथ रिकॉर्डिंग शुरू करें

पसंद के मुताबिक डेटा के साथ रिकॉर्डिंग शुरू करने के लिए इन चरणों का पालन करें. रिकॉर्डिंग सेशन को शुरू करने, बंद करने, और उसकी जांच करने के लिए, कृपया एआर सेशन को रिकॉर्ड करना और चलाना देखें.

  1. ARCoreRecordingConfig पाएं.
  2. पसंद के मुताबिक बनाए गए यूयूआईडी का इस्तेमाल करके, नया Track बनाएं. सभी कस्टम डेटा यहां सेव किया जाएगा.
  3. सेशन कॉन्फ़िगरेशन के दौरान बनाए गए ARCoreRecordingConfig में Track जोड़ें.
// Initialize a new track with a custom UUID.
// Make sure to save the UUID because it is the ID that you will use
// to get your data back during playback.
var track = new Track {
 Id = Guid.Parse("de5ec7a4-09ec-4c48-b2c3-a98b66e71893") // from UUID generator
};

// Add the Track to the recordingConfig.
// recordingConfig must already be configured.
List<Track> tracks = new List<Track>();
tracks.Add(track);
recordingConfig.Tracks = tracks;

सभी नए ट्रैक को अलग-अलग रिकॉर्डिंग माना जाता है और रिकॉर्ड किए गए हर ट्रैक का अपना यूयूआईडी होता है.

अतिरिक्त डेटा के साथ ट्रैक को कॉन्फ़िगर करें

सेशन की रिकॉर्डिंग की जानकारी देने वाले अतिरिक्त डेटा के साथ ट्रैक को कॉन्फ़िगर करें. उदाहरण के लिए, किसी ट्रैक को “टैग” किया जा सकता है. इसके लिए, आपको एक नोट जोड़ना होगा. इस नोट में, सेशन को रिकॉर्ड करने की जगह और समय की जानकारी होगी: “इस सेशन को दोपहर में मॉल में रिकॉर्ड किया गया था.”

// Set additional data on this track.
// For example, describe where you recorded the session.
byte[] metadata = ...
track.Metadata = metadata;

MIME टाइप के साथ ट्रैक को कॉन्फ़िगर करें

MIME टाइप वाला ट्रैक कॉन्फ़िगर करें. इससे पता चलता है कि ट्रैक में किस तरह का डेटा रिकॉर्ड किया गया है, ताकि वह बाहरी टूल के साथ काम कर सके.

अगर आपने डेटा टाइप नहीं बताया है, तो डेटा को application/text की कैटगरी में रखा जाएगा. डेटा पढ़ते समय ARCore, MIME टाइप को अनदेखा कर देता है.

// Set a MIME type for compatibility with external tools.
track.MimeType = "text/csv";

कस्टम डेटा ट्रैक रिकॉर्ड करें

सभी कस्टम ट्रैक डेटा, फ़्रेम पर रिकॉर्ड किया जाता है. किसी फ़्रेम पर डेटा रिकॉर्ड करने का समय, प्लेबैक के दौरान दिखाए जाने वाले समय के बराबर ही होता है. उदाहरण के लिए, अगर RecordTrackData() को 00:07:02 पर “A” वैल्यू के साथ कॉल किया जाता है, तो ट्रैक चलाने पर, आपको 00:07:02 के निशान पर “A” वापस मिल जाएगा.

पसंद के मुताबिक डेटा ट्रैक रिकॉर्ड करने के लिए, RecordTrackData() पर कॉल करें.

// Place an AR lamp in a room.
if (placeLampButtonWasPressed) {
  // Convert the lamp data into a byte array.
  var lampData = new byte[] { (byte) Lamp.FLOOR };  // a floor lamp
  recordingManager.RecordTrackData(trackGuid, lampData);
}

कस्टम डेटा ट्रैक चलाएं

वीडियो चलने के दौरान, सेशन की रिकॉर्डिंग से कस्टम डेटा एक्सट्रैक्ट करना.

प्लेबैक शुरू करें

कस्टम डेटा के साथ वीडियो चलाना शुरू करना, किसी सामान्य सेशन की रिकॉर्डिंग को शुरू करने जैसा ही है.

पसंद के मुताबिक डेटा दिखाएं

फ़्रेम पर रिकॉर्ड किया गया कस्टम डेटा वापस पाने के लिए, GetUpdatedTrackData() को कॉल करें. एक ही फ़्रेम से कई ट्रैक का डेटा फिर से हासिल किया जा सकता है. उदाहरण के लिए, अगर आपने रिकॉर्डिंग के दौरान एक ही फ़्रेम पर दो बार RecordTrackData() कॉल किया, तो आपको वीडियो चलने के दौरान TrackData के दो इंस्टेंस मिलेंगे.

// Fetch the data recorded on a select frame and place it in a
// container object.
var trackDataList = recordingManager.GetUpdatedTrackData(trackGuid);

जब TrackData किसी कंटेनर ऑब्जेक्ट में हो, तो कस्टम डेटा की बाइट निकालें.

// Extract the bytes of custom data from the list of track data.
foreach (TrackData trackData in trackDataList) {
  var data = trackData.Data;
  Lamp lamp = Lamp.fromByte(data[0]); // This is the lamp!
}

आगे क्या होगा