+ libvlc_audio_set_track( instance, (int)value, &ex );
+ catch_exception( &ex );
+}
+
+- (NSUInteger)currentAudioTrackIndex
+{
+ libvlc_exception_t ex;
+ libvlc_exception_init( &ex );
+ NSInteger count = libvlc_audio_get_track_count( instance, &ex );
+ catch_exception( &ex );
+ if (count <= 0)
+ return NSNotFound;
+
+ NSUInteger result = libvlc_audio_get_track( instance, &ex );
+ catch_exception( &ex );
+ return result;
+}
+
+- (NSArray *)audioTracks
+{
+ libvlc_exception_t ex;
+ libvlc_exception_init( &ex );
+ NSInteger count = libvlc_audio_get_track_count( instance, &ex );
+ catch_exception( &ex );
+ if (count <= 0)
+ return [NSArray array];
+
+ libvlc_track_description_t *tracks = libvlc_audio_get_track_description( instance, &ex );
+ NSMutableArray *tempArray = [NSMutableArray array];
+ NSUInteger i;
+ for (i = 0; i < count ; i++)
+ {
+ [tempArray addObject:[NSString stringWithUTF8String: tracks->psz_name]];
+ tracks = tracks->p_next;
+ }
+
+ return [NSArray arrayWithArray: tempArray];
+}
+
+- (void)setAudioChannel:(NSInteger)value
+{
+ libvlc_exception_t ex;
+ libvlc_exception_init( &ex );
+ libvlc_audio_set_channel( instance, value, &ex );
+ catch_exception( &ex );
+}
+
+- (NSInteger)audioChannel
+{
+ libvlc_exception_t ex;
+ libvlc_exception_init( &ex );
+ NSInteger result = libvlc_audio_get_channel( instance, &ex );