Files
tianrunCRM/Assets/3rd/NativeAudio/Runtime/NativeAudioIos.cs
2020-08-10 22:23:49 +08:00

66 lines
2.4 KiB
C#
Executable File

// Native Audio
// 5argon - Exceed7 Experiments
// Problems/suggestions : 5argon@exceed7.com
using System;
using System.Runtime.InteropServices;
namespace E7.Native
{
public static partial class NativeAudio
{
#if UNITY_IOS
[DllImport("__Internal")]
internal static extern int _Initialize();
[DllImport("__Internal")]
internal static extern int _SendByteArray(IntPtr byteArrayInput, int byteSize, int channels, int samplingRate, LoadOptions.ResamplingQuality resamplingQuality);
[DllImport("__Internal")]
internal static extern int _LoadAudio(string soundUrl, int resamplingQuality);
[DllImport("__Internal")]
internal static extern void _PrepareAudio(int audioBufferIndex, int nativeSourceIndex);
[DllImport("__Internal")]
internal static extern void _PlayAudioWithNativeSourceIndex(int nativeSourceIndex, NativeSource.PlayOptions playOptions);
[DllImport("__Internal")]
internal static extern void _UnloadAudio(int audioBufferIndex);
[DllImport("__Internal")]
internal static extern float _LengthByAudioBuffer(int audioBufferIndex);
[DllImport("__Internal")]
internal static extern void _GetDeviceAudioInformation(IntPtr interopArray, IntPtr outputDeviceEnumArray);
[DllImport("__Internal")]
internal static extern int _GetNativeSource(int nativeSourceIndex);
// -- Operates on sound "source" chosen for a particular audio --
// ("source" terms of OpenAL is like a speaker, not the "source of data" which is a loaded byte array.)
[DllImport("__Internal")]
internal static extern void _StopAudio(int nativeSourceIndex);
[DllImport("__Internal")]
internal static extern void _SetVolume(int nativeSourceIndex, float volume);
[DllImport("__Internal")]
internal static extern void _SetPan(int nativeSourceIndex, float pan);
[DllImport("__Internal")]
internal static extern float _GetPlaybackTime(int nativeSourceIndex);
[DllImport("__Internal")]
internal static extern void _SetPlaybackTime(int nativeSourceIndex, float offsetSeconds);
[DllImport("__Internal")]
internal static extern void _Pause(int nativeSourceIndex);
[DllImport("__Internal")]
internal static extern void _Resume(int nativeSourceIndex);
#endif
}
}