"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > गो में ओजीजी ऑडियो अवधि की गणना: एक चरण-दर-चरण मार्गदर्शिका

गो में ओजीजी ऑडियो अवधि की गणना: एक चरण-दर-चरण मार्गदर्शिका

2024-11-01 को प्रकाशित
ब्राउज़ करें:382

Calculating Ogg Audio Duration in Go: A Step-by-Step Guide

मैं कलह का क्लोन बनाने की कोशिश कर रहा था और मुझे पता चला कि वे ऑडियो के लिए ओजीजी प्रारूपों का उपयोग करते हैं (मुझे लगता है), मैं डेटाबेस में संग्रहीत करने के लिए ऑडियो अवधि प्राप्त करने की कोशिश कर रहा हूं।

ओजीजी ऑडियो अवधि प्राप्त करने के बारे में एक स्टैकओवरफ़्लो समाधान, मुझे आकर्षक लगा। इस दृष्टिकोण में फ़ाइल के अंत की तलाश करना, अंतिम ओग पेज हेडर ढूंढना और उसकी ग्रेन्युल स्थिति को पढ़ना शामिल है।

func getOggDurationMs(reader io.Reader) (int64, error) {
    // Read the entire Ogg file into a byte slice
    data, err := io.ReadAll(reader)
    if err != nil {
        return 0, fmt.Errorf("error reading Ogg file: %w", err)
    }

    // Search for the "OggS" signature and calculate the length
    var length int64
    for i := len(data) - 14; i >= 0 && length == 0; i-- {
        if data[i] == 'O' && data[i 1] == 'g' && data[i 2] == 'g' && data[i 3] == 'S' {
            length = int64(readLittleEndianInt(data[i 6 : i 14]))
        }
    }

    // Search for the "vorbis" signature and calculate the rate
    var rate int64
    for i := 0; i 



मैंने इसे यहां साझा करने का निर्णय लिया, मुझे कार्यान्वयन बहुत अच्छा लगा और शायद इससे कुछ अन्य लोगों को मदद मिलेगी

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/mmvergara/calculated-ogg-audio-duration-in-go-a-step-by-step-guide-1igh?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग से संपर्क करें @163.com हटाएं
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3