ऑडियो ट्रांसकोड करें
ट्रांसकोडिंग प्रारूप
आप संबंधित फ़ंक्शन का उपयोग करके ऑडियो को एक RAW या एन्कोडेड प्रारूप से दूसरे में ट्रांसकोड कर सकते हैं।
- Blueprint
- C++
// From encoded file to encoded file
URuntimeAudioTranscoder::TranscodeEncodedDataFromFile(TEXT("C:/Folder/AudioFrom.mp3"), ERuntimeAudioFormat::Auto,
TEXT("C:/Folder/AudioTo.ogg"), ERuntimeAudioFormat::OggVorbis,
100, FRuntimeAudioExportOverrideOptions(),
FOnEncodedDataTranscodeFromFileResultNative::CreateWeakLambda(this, [](bool bSucceeded)
{
// Handle the result
}));
// From encoded buffer to encoded buffer
TArray64<uint8> EncodedDataFrom;
URuntimeAudioTranscoder::TranscodeEncodedDataFromBuffer(EncodedDataFrom, ERuntimeAudioFormat::Auto,
ERuntimeAudioFormat::Wav,
100, FRuntimeAudioExportOverrideOptions(),
FOnEncodedDataTranscodeFromBufferResultNative::CreateWeakLambda(this, [](bool bSucceeded, const TArray64<uint8>& EncodedData)
{
// Handle the result
}));
// From RAW file to RAW file
URuntimeAudioTranscoder::TranscodeRAWDataFromFile(TEXT("C:/Folder/AudioFrom.raw"), ERuntimeRAWAudioFormat::Int16,
TEXT("C:/Folder/AudioTo.raw"), ERuntimeRAWAudioFormat::Float32,
FOnRAWDataTranscodeFromFileResultNative::CreateWeakLambda(this, [](bool bSucceeded)
{
// Handle the result
}));
// From RAW buffer to RAW buffer
TArray64<uint8> RAWDataFrom;
URuntimeAudioTranscoder::TranscodeRAWDataFromBuffer(RAWDataFrom, ERuntimeRAWAudioFormat::Int8,
ERuntimeRAWAudioFormat::Int32,
FOnRAWDataTranscodeFromBufferResultNative::CreateWeakLambda(this, [](bool bSucceeded, const TArray64<uint8>& RAWData)
{
// Handle the result
}));
फ्लोट ऐरे को बाइट्स में बदलें
आप एक फ्लोट ऐरे (जैसे, 32-बिट फ्लोट PCM डेटा) को बाइट ऐरे में बदल सकते हैं। यह तब उपयोगी होता है जब आपके ऑडियो डेटा को बाइट्स में होना चाहिए, जैसे कि नेटवर्क ट्रांसमिशन या कुछ प्रोसेसिंग सिस्टम के लिए। यह रूपांतरण अक्सर आवश्यक होता है जब OnGeneratePCMData या OnPopulateAudioData जैसे डेलीगेट्स का उपयोग किया जाता है, क्योंकि वे फ्लोट PCM डेटा आउटपुट करते हैं।
- Blueprint
- C++
// Assuming FloatArray is an array of floats (such as 32-bit float PCM data)
TArray<float> FloatArray;
// Synchronous
TArray<uint8> ByteArray = URuntimeAudioUtilities::ConvertFloatArrayToBytes(FloatArray);
// Asynchronous
URuntimeAudioUtilities::ConvertFloatArrayToBytesAsync(FloatArray,
FOnConvertFloatArrayToBytesResultNative::CreateWeakLambda(this, [this](const TArray<uint8>& ByteArray)
{
// Handle the result
}));