/// <summary>
/// The audio stream data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] Stream { get; }
/// <summary>
/// The length of audio stream data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int StreamLength { get; }
/// <summary>
/// The audio format type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public AudioSampleType Type { get; }
/// <summary>
/// The number of channels.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int Channel { get; }
/// <summary>
/// The recording time of the stream buffer in milliseconds.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public uint RecordingTime { get; }
}
}
/// <summary>
/// The muexed stream data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public byte[] Stream { get; }
/// <summary>
/// The length of muxed stream data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public int StreamLength { get; }
/// <summary>
/// The offset of the stream data.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ulong Offset { get; }
}
}
return _handle;
}
-#region Dispose support
+ #region Dispose support
/// <summary>
/// Release any unmanaged resources used by this object.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public void Dispose()
{
Dispose(true);
{
_state = state;
}
-#endregion Check recorder state
+ #endregion Check recorder state
-#region EventHandlers
+ #region EventHandlers
/// <summary>
/// Event that occurs when an error occurs during recorder operation.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RecordingErrorOccurredEventArgs> ErrorOccurred;
private Native.RecorderErrorCallback _errorOccuredCallback;
/// <summary>
/// Event that occurs when recorder is interrupted.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RecorderInterruptedEventArgs> Interrupted;
private Native.InterruptedCallback _interruptedCallback;
/// <summary>
/// This event occurs when recorder state is changed.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RecorderStateChangedEventArgs> StateChanged;
private Native.StatechangedCallback _stateChangedCallback;
/// <summary>
/// Event that occurs when recording information changes.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RecordingProgressEventArgs> RecordingProgress;
private Native.RecordingProgressCallback _recordingProgressCallback;
/// <summary>
/// Event that occurs when audio stream data is being delivered.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<AudioStreamDeliveredEventArgs> AudioStreamDelivered;
private Native.AudioStreamCallback _audioStreamCallback;
/// <summary>
/// Event that occurs when recording limit is reached.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<RecordingLimitReachedEventArgs> RecordingLimitReached;
private Native.RecordingLimitReachedCallback _recordingLimitReachedCallback;
/// <summary>
/// Event that occurs when muxed stream data is being delivered.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public event EventHandler<MuxedStreamDeliveredEventArgs> MuxedStreamDelivered;
private Native.MuxedStreamCallback _muxedStreamCallback;
-#endregion EventHandlers
+ #endregion EventHandlers
-#region Properties
+ #region Properties
/// <summary>
/// Gets the various recorder features.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecorderFeatures Feature { get; }
/// <summary>
/// Get/Set the various recorder settings.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecorderSettings Setting { get; }
/// <summary>
/// The current state of the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A <see cref="RecorderState"/> that specifies the state of recorder.</value>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public RecorderState State
return val;
}
}
-#endregion Properties
+ #endregion Properties
-#region Methods
+ #region Methods
/// <summary>
/// Prepare the media recorder for recording.
/// The recorder must be in the <see cref="RecorderState.Created"/> state.
/// After this method is finished without any exception,
/// The state of recorder will be changed to <see cref="RecorderState.Ready"/> state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <remarks>
/// Before calling the function, it is required to set AudioEncoder,
/// videoencoder and fileformat properties of recorder.
/// After this method is finished without any exception,
/// The state of recorder will be changed to <see cref="RecorderState.Created"/> state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <exception cref="InvalidOperationException">In case of any invalid operations.</exception>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public void Unprepare()
/// After this method is finished without any exception,
/// The state of recorder will be changed to <see cref="RecorderState.Recording"/> state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <remarks>
/// If file path has been set to an existing file, this file is removed automatically and updated by new one.
/// In the video recorder, some preview format does not support record mode. It will return InvalidOperation error.
/// After this method is finished without any exception,
/// The state of recorder will be changed to <see cref="RecorderState.Paused"/> state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <remarks>
/// Recording can be resumed with Start().
/// </remarks>
/// After this method is finished without any exception,
/// The state of recorder will be changed to <see cref="RecorderState.Ready"/> state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <privilege>
/// http://tizen.org/privilege/recorder
/// </privilege>
/// After this method is finished without any exception,
/// The state of recorder will be changed to <see cref="RecorderState.Ready"/> state.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <privilege>
/// http://tizen.org/privilege/recorder
/// </privilege>
/// <summary>
/// Sets the audio stream policy.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <param name="policy">Policy.</param>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public void SetAudioStreamPolicy(AudioStreamPolicy policy)
/// <summary>
/// Enumeration for Audio Codec.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderAudioCodec
{
/// <summary>
/// <summary>
/// Enumeration for Audio capture devices.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderAudioDevice
{
/// <summary>
/// <summary>
/// Enumeration for the file container format.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderFileFormat
{
/// <summary>
/// <summary>
/// Enumeration for the recorder policy.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderPolicy
{
/// <summary>
/// <summary>
/// Enumeration for the recording limit.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RecordingLimitType
{
/// <summary>
/// <summary>
/// Enumeration for the recorder rotation type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderOrientation
{
/// <summary>
/// <summary>
/// Enumeration for recorder states.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderState
{
/// <summary>
/// <summary>
/// Enumeration for video codec.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderVideoCodec
{
/// <summary>
/// <summary>
/// Enumeration for recorder failure error.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public enum RecorderErrorCode
{
/// <summary>
/// <summary>
/// Retrieves all the file formats supported by the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="RecorderFileFormat"/>.
/// </returns>
/// <summary>
/// Retrieves all the audio encoders supported by the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="RecorderAudioCodec"/>.
/// </returns>
/// <summary>
/// Retrieves all the video encoders supported by the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>
/// It returns a list containing all the supported <see cref="RecorderVideoCodec"/>.
/// by recorder.
/// <summary>
/// Retrieves all the video resolutions supported by the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <returns>
/// It returns videoresolution list containing the width and height of
/// different resolutions supported by recorder.
/// <summary>
/// The policy that interrupted the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecorderPolicy Policy { get; }
/// <summary>
/// The previous state of the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecorderState Previous { get; }
/// <summary>
/// The current state of the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecorderState Current { get; }
}
}
/// <summary>
/// The number of audio channel.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>
/// For mono recording, set channel to 1.
/// For stereo recording, set channel to 2.
/// <summary>
/// The audio device for recording.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A <see cref="RecorderAudioDevice"/> that specifies the type of audio device.</value>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public RecorderAudioDevice AudioDevice
/// <summary>
/// Get the peak audio input level in dB
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <remarks>
/// 0dB indicates maximum input level, -300dB indicates minimum input level.
/// </remarks>
/// <summary>
/// The sampling rate of an audio stream in hertz.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public int AudioSampleRate
{
/// <summary>
/// The bitrate of an audio encoder in bits per second.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public int AudioBitRate
{
/// <summary>
/// The bitrate of an video encoder in bits per second.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public int VideoBitRate
{
/// <summary>
/// The audio codec for encoding an audio stream.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A <see cref="RecorderAudioCodec"/> that specifies the type of audio codec.</value>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public RecorderAudioCodec AudioCodec
/// <summary>
/// The video codec for encoding video stream.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A <see cref="RecorderVideoCodec"/> that specifies the type of video codec.</value>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public RecorderVideoCodec VideoCodec
/// <summary>
/// The file format for recording media stream.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A <see cref="RecorderFileFormat"/> that specifies the file format.</value>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public RecorderFileFormat FileFormat
/// <summary>
/// The file path to record.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <remarks>
/// If the same file already exists in the file system, then old file
/// will be overwritten.
/// The maximum size of a recording file in KB(kilobytes). If 0, means
/// unlimited recording size.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <remarks>
/// After reaching the limitation, the data which is being recorded will
/// be discarded and not written to the file.
/// The time limit of a recording file in Seconds. If 0, means unlimited recording
/// time.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <remarks>
/// After reaching the limitation, the data which is being recorded will
/// be discarded and not written to the file.
/// <summary>
/// The mute state of a recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public bool Mute
{
/// <summary>
/// The video recording motion rate
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <remarks>
/// The attribute is valid only in a video recorder.
/// If the rate is in range of 0-1, video is recorded in a slow motion mode.
/// <summary>
/// The orientation in a video metadata tag.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <value>A <see cref="RecorderOrientation"/> that specifies the type of orientation.</value>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public RecorderOrientation OrientationTag
/// <summary>
/// Resolution of the video.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
/// <exception cref="ArgumentException">In case of invalid parameters</exception>
/// <exception cref="ObjectDisposedException">The camera already has been disposed.</exception>
public Size VideoResolution
/// <summary>
/// Previous state of the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecorderState Previous { get; }
/// <summary>
/// Current state of the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecorderState Current { get; }
/// <summary>
/// true if the state changed by policy such as Resource Conflict or Security, otherwise false
/// in normal state change.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public bool IsStateChangedByPolicy { get; }
}
}
/// <summary>
/// The error code.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecorderErrorCode Error { get; }
/// <summary>
/// The state of the recorder.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecorderState State { get; }
}
/// <summary>
/// The limitation type.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public RecordingLimitType Type { get; }
}
}
/// <summary>
/// The time of recording in milliseconds.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ulong ElapsedTime { get; }
/// <summary>
/// The size of the recording file in Kilobyte.
/// </summary>
+ /// <since_tizen> 3 </since_tizen>
public ulong FileSize { get; }
}
}