Files
UnrealEngineUWP/Engine/Source/Runtime/AudioCaptureImplementations/Android/AudioCaptureAndroid/Private/AudioCaptureAndroid.h
ryan durand 0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00

38 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "AudioCaptureCore.h"
#include "oboe/Oboe.h"
namespace Audio
{
class FAudioCaptureAndroidStream : public IAudioCaptureStream, public oboe::AudioStreamCallback
{
public:
FAudioCaptureAndroidStream();
virtual bool GetCaptureDeviceInfo(FCaptureDeviceInfo& OutInfo, int32 DeviceIndex) override;
virtual bool OpenCaptureStream(const FAudioCaptureDeviceParams& InParams, FOnCaptureFunction InOnCapture, uint32 NumFramesDesired) override;
virtual bool CloseStream() override;
virtual bool StartStream() override;
virtual bool StopStream() override;
virtual bool AbortStream() override;
virtual bool GetStreamTime(double& OutStreamTime) override;
virtual int32 GetSampleRate() const override { return SampleRate; }
virtual bool IsStreamOpen() const override;
virtual bool IsCapturing() const override;
virtual void OnAudioCapture(void* InBuffer, uint32 InBufferFrames, double StreamTime, bool bOverflow) override;
virtual bool GetInputDevicesAvailable(TArray<FCaptureDeviceInfo>& OutDevices) override;
// begin oboe::AudioStreamCallback
virtual oboe::DataCallbackResult onAudioReady(oboe::AudioStream *oboeStream, void *audioData, int32 numFrames) override;
// end oboe::AudioStreamCallback
private:
FOnCaptureFunction OnCapture;
int32 NumChannels;
int32 SampleRate;
TUniquePtr<oboe::AudioStream> InputOboeStream;
};
}