Rate this page:

VIAudioFile

A file player that automatically prepares audio session and plays sounds.

Supported file formats are: .caf, .wav, .aiff, .aifc, .mp3, .ac3

Limitations:

  • Playing audio file is not supported while there is an active connected call.
  • Playing audio file may be interrupted if audio within a call is started.
  • Playing audio file will be stopped if Siri or CallKit is activated.

Props

delegate

Copy URL
@property (weak, nullable, nonatomic) 

id<VIAudioFileDelegate>

delegate

Delegate that handles events related to audio file playing process.

Returns

delegateQueue

Copy URL
@property (strong, nullable, nonatomic) 

dispatch_queue_t

delegateQueue

All delegates methods will be called on this queue. Queue should be serial, but not concurrent (the main queue is applicable).

If not specified, the main queue will be used.

Returns

  • type:

    dispatch_queue_t

looped

Copy URL
@property (assign, nonatomic) 

BOOL

looped

Indicates if the audio file should be played repeatedly or once.

Returns

  • type:

    BOOL

url

Copy URL
@property (strong, nullable, readonly, nonatomic) 

NSURL *

url

Audio file URL.

Returns

  • type:

    NSURL *

Methods

initWithData:looped:

Copy URL
- (

nullable instancetype

)initWithData:(

NSData *

)audioFileData
looped:(

BOOL

)looped

Initialize audio file instance.

Parameters

  • audioFileData:

    NSData *

    Audio file Data.

  • looped:

    BOOL

    YES to play audio file repeatedly. NO to play once.

Returns

  • type:

    nullable instancetype

initWithURL:looped:

Copy URL
- (

nullable instancetype

)initWithURL:(

NSURL *

)audioFileURL
looped:(

BOOL

)looped

Initialize audio file instance.

Parameters

  • audioFileURL:

    NSURL *

    Audio file URL.

  • looped:

    BOOL

    YES to play audio file repeatedly. NO to play once.

Returns

  • type:

    nullable instancetype

play

Copy URL
- (

void

)play

Start to play the audio file repeatedly or once based on [VIAudioFile looped] property.

If the audio file is already playing, calling this method will result in [VIAudioFileDelegate audioFile:didStartPlaying:] event with an error.

Returns

  • type:

    void

stop

Copy URL
- (

void

)stop

Stop playing of the audio file.

Calling this method has no effect if the audio file is not playing.

Returns

  • type:

    void