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";

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

कस्टम ट्रैक का सारा डेटा फ़्रेम में रिकॉर्ड किया जाता है. किसी फ़्रेम में डेटा रिकॉर्ड करने के बाद, उसे चलाने पर वही डेटा दिखेगा. उदाहरण के लिए, अगर आपने 00:07:02 पर “A” वैल्यू के साथ RecordTrackData() को कॉल किया है, तो ट्रैक को वापस चलाने पर आपको 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!
}

अब क्या होगा