Skip to content

adrenak/UnityOpus

 
 

Repository files navigation

UnityOpus 🔉

Note: A UPM fork of UnityOps by TyounanMOTI with some XML comments. The original project is sponsored by Cluster, Inc.

Scripting reference

Installation 📦

Ensure you have the NPM registry in the packages.json file of your Unity project with com.adrenak.unityops as one of the scopes

"scopedRegistries": [
    {
        "name": "npmjs",
        "url": "https://registry.npmjs.org",
        "scopes": [
            "com.npmjs",
            "com.adrenak.unityopus"
        ]
    }
}

Add "com.adrenak.unityopus" : "x.y.z" to dependencies list in packages.json file where x.y.z is the version name

Tip

The Encoder.Encode returns an int.
If it's > 0, encoding succeeded and this int represents the length of the encoded audio in the output array. You'll need to copy the encoded audio from the output.
If it's < 0, encoding has failed and the int actually represents the error code

// Assuming pcm is the float[] you want to encode
// The output array should be equal to the pcm array size in bytes, hence multuplied by 4
byte[] output = new byte[pcm.Length * 4];
int encodeResult = encoder.Encode(pcm, output); 
if(encodedResult > 0) {
    byte[] encodedBytes = new byte[encodeResult];
    Array.Copy(encodeBuffer, encodedBytes, encodedBytes.Length);
    // encodedBytes now has the encoded audio ready for your use
}
else {
    // Get the error
    ErrorCode errorCode = (ErrorCode)encodeResult;
}

Contact 👥

@github
@website
@discord: adrenak#1934

Releases

No releases published

Packages

No packages published

Languages

  • C 83.6%
  • C# 10.1%
  • C++ 6.2%
  • CMake 0.1%