Class: AVAudioRecorder
Overview
An instance of the AVAudioRecorder class, called an audio recorder, provides audio recording capability in your application. Using an audio recorder you can:
Instance Attribute Summary (collapse)
-
- channelAssignments
An array of AVAudioSessionChannelDescription objects associated with the recorder.
-
- currentTime
readonly
The time, in seconds, since the beginning of the recording.
-
- delegate
The delegate object for the audio recorder.
-
- deviceCurrentTime
readonly
The time, in seconds, of the host device where the audio recorder is located.
-
- meteringEnabled
A Boolean value that indicates whether audio-level metering is enabled (YES), or not (NO).
-
- recording
readonly
A Boolean value that indicates whether the audio recorder is recording (YES), or not (NO).
-
- settings
readonly
The audio settings for the audio recorder.
-
- url
readonly
The URL for the audio file associated with the audio recorder.
Instance Method Summary (collapse)
-
- averagePowerForChannel:
Returns the average power for a given channel, in decibels, for the sound being recorded.
-
- deleteRecording
Deletes a recorded audio file.
-
- initWithURL:settings:error:
Initializes and returns an audio recorder.
-
- pause
Pauses a recording.
-
- peakPowerForChannel:
Returns the peak power for a given channel, in decibels, for the sound being recorded.
-
- prepareToRecord
Creates an audio file and prepares the system for recording.
-
- record
Starts or resumes recording.
-
- recordAtTime:
Starts recording at a specific time.
-
- recordAtTime:forDuration:
Starts recording at a specified time for a specified duration of time.
-
- recordForDuration:
Records for a specified duration of time.
-
- stop
Stops recording and closes the audio file.
-
- updateMeters
Refreshes the average and peak power values for all channels of an audio recorder.
Methods inherited from NSObject
#!, #!=, #!~, #, #==, #===, #=~, #Rational, #__callee__, #__method__, #__send__, #__type__, `, alloc, allocWithZone:, #autoContentAccessingProxy, autoload, autoload?, autorelease_pool, #awakeAfterUsingCoder:, binding, block_given?, caller, cancelPreviousPerformRequestsWithTarget:, cancelPreviousPerformRequestsWithTarget:selector:object:, catch, class, classFallbacksForKeyedArchiver, #classForCoder, #classForKeyedArchiver, classForKeyedUnarchiver, #clone, conformsToProtocol:, #copy, copyWithZone:, #dealloc, #define_singleton_method, description, display, #doesNotRecognizeSelector:, #dup, #enum_for, #eql?, #equal?, #extend, fail, #finalize, format, #forwardInvocation:, #forwardingTargetForSelector:, framework, #freeze, #frozen?, getpass, gets, global_variables, #init, initialize, #initialize_clone, #initialize_copy, #initialize_dup, #inspect, instanceMethodForSelector:, instanceMethodSignatureForSelector:, #instance_eval, #instance_exec, #instance_of?, #instance_variable_defined?, #instance_variable_get, #instance_variable_set, #instance_variables, instancesRespondToSelector:, isSubclassOfClass:, #is_a?, iterator?, #kind_of?, lambda, load, load_bridge_support_file, load_plist, local_variables, loop, #method, #methodForSelector:, #methodSignatureForSelector:, #methods, #mutableCopy, mutableCopyWithZone:, new, #nil?, open, p, #performSelector:onThread:withObject:waitUntilDone:, #performSelector:onThread:withObject:waitUntilDone:modes:, #performSelector:withObject:afterDelay:, #performSelector:withObject:afterDelay:inModes:, #performSelectorInBackground:withObject:, #performSelectorOnMainThread:withObject:waitUntilDone:, #performSelectorOnMainThread:withObject:waitUntilDone:modes:, print, printf, #private_methods, proc, #protected_methods, #public_method, #public_methods, #public_send, putc, puts, raise, rand, readline, readlines, #replacementObjectForCoder:, #replacementObjectForKeyedArchiver:, require, resolveClassMethod:, resolveInstanceMethod:, #respond_to?, #respond_to_missing?, select, #send, setVersion:, #singleton_methods, sprintf, srand, superclass, #taint, #tainted?, #tap, test, throw, #to_plist, #to_s, trace_var, trap, #trust, #untaint, untrace_var, #untrust, #untrusted?, version
Constructor Details
This class inherits a constructor from NSObject
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class NSObject
Instance Attribute Details
- (Array) channelAssignments
An array of AVAudioSessionChannelDescription objects associated with the recorder. The default value of this property is nil. When non-nil, this array must have the same number of elements as designated by the AVNumberOfChannelsKey in the settings property. You can use this property to help record specific channels.
- (NSTimeInterval) currentTime (readonly)
The time, in seconds, since the beginning of the recording. (read-only) When the audio recorder is stopped, calling this method returns a value of 0.
- (Object) delegate
The delegate object for the audio recorder. For a description of the audio recorder delegate, see AVAudioRecorderDelegate Protocol Reference.
- (NSTimeInterval) deviceCurrentTime (readonly)
The time, in seconds, of the host device where the audio recorder is located. (read-only) The value of this property is never 0. The value of this property is provided as a convenience to allow for time-relative scheduling of audio recording using the recordAtTime: and recordAtTime:forDuration: methods.
- (Boolean) meteringEnabled
A Boolean value that indicates whether audio-level metering is enabled (YES), or not (NO). By default, audio level metering is off for an audio recorder. Because metering uses computing resources, turn it on only if you intend to use it.
- (Boolean) recording (readonly)
A Boolean value that indicates whether the audio recorder is recording (YES), or not (NO). (read-only)
- (Hash) settings (readonly)
The audio settings for the audio recorder. (read-only) Audio recorder settings are in effect only after you explicitly call the prepareToRecord method, or after you call it implicitly by starting recording. The audio settings keys are described in AV Foundation Audio Settings Constants.
- (NSURL) url (readonly)
The URL for the audio file associated with the audio recorder. (read-only)
Instance Method Details
- (Float) averagePowerForChannel(channelNumber)
Returns the average power for a given channel, in decibels, for the sound being recorded. To obtain a current average power value, you must call the updateMeters method before calling this method.
- (Boolean) deleteRecording
Deletes a recorded audio file. The audio recorder must be stopped before you call this method.
- (Object) initWithURL(url, settings:settings, error:outError)
Initializes and returns an audio recorder.
- (Object) pause
Pauses a recording. Call record to resume recording.
- (Float) peakPowerForChannel(channelNumber)
Returns the peak power for a given channel, in decibels, for the sound being recorded. To obtain a current peak power value, call the updateMeters method immediately before calling this method.
- (Boolean) prepareToRecord
Creates an audio file and prepares the system for recording. Creates an audio file at the location specified by the url parameter in the initWithURL:settings:error: method. If a file already exists at that location, this method overwrites it.The preparation invoked by this method takes place automatically when you call record. Use prepareToRecord when you want recording to start as quickly as possible upon calling record.
- (Boolean) record
Starts or resumes recording. Calling this method implicitly calls prepareToRecord, which creates (or erases) an audio file and prepares the system for recording.
- (Boolean) recordAtTime(time)
Starts recording at a specific time. Calling this method implicitly calls prepareToRecord, which creates (or erases) an audio file and prepares the system for recording. You can use this method to produce synchronized audio recordings. This method can also be used for exactly periodic recordings or recordings that happen with exact offsets relative to each other.
- (Boolean) recordAtTime(time, forDuration:duration)
Starts recording at a specified time for a specified duration of time. Calling this method implicitly calls prepareToRecord, which creates (or erases) an audio file and prepares the system for recording. You can use this method to produce synchronized audio recordings of a specific length. The recorder will stop when the duration of recorded audio reaches the value in the duration parameter.
- (Boolean) recordForDuration(duration)
Records for a specified duration of time. The recorder stops when the duration of recorded audio reaches the value in the duration parameter.Calling this method implicitly calls prepareToRecord, which creates (or erases) an audio file and prepares the system for recording.
- (Object) stop
Stops recording and closes the audio file.
- (Object) updateMeters
Refreshes the average and peak power values for all channels of an audio recorder. To obtain current audio power values, you must call this method before you call averagePowerForChannel: or peakPowerForChannel:.