iphone - 播放桌面、iPhone 上的音频文件

标签 iphone audio

我在数组中创建了一个音乐文件名列表,用于填充 uitableview。我想让音频播放器以这个数组或表作为播放列表,并逐个连续播放它们,具有播放、暂停、下一个、上一个、前进、后退和停止等所有功能。实现这一点的最佳方法是什么。资源文件夹本身中的所有音乐文件,以便我可以将每个音乐文件启动为

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"mp3"];


NSURL *newURL = [[NSURL alloc] initFileURLWithPath: soundFilePath];
    self.soundFileURL = newURL;
    [newURL release];


    [[AVAudioSession sharedInstance] setDelegate: self];

    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: nil];


AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL: soundFileURL error: nil];
    self.appSoundPlayer = newPlayer;
    [newPlayer release];


    [appSoundPlayer prepareToPlay];
    [appSoundPlayer setVolume: 1.0];
    [appSoundPlayer setDelegate: self];

最佳答案

这可以像实现 AVAudioPlayerDelegate 一样简单吗?

appSoundPlayer.delegate=self;

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
    if (successfully) 
    {
        // play next track
    }
}

显然,您需要跟踪当前正在播放的轨道,以便计算出下一个要播放的轨道,但这应该不是问题。您还必须实现自己的控件和逻辑以进行轨道跳过等,但这同样很容易完成。

关于iphone - 播放桌面、iPhone 上的音频文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1919667/

相关文章:

iphone - iOS:AFNetworking:如果 token 过期则重复 block

iphone - 让网站用户知道有可用的 iOS 应用程序

android - 在不存储临时文件的情况下在 Android 上录制和播放声音

iphone - -ObjC 链接器标志有什么作用?

iphone - 将 uiview 转换为 .png 图片

iphone - 如何让父 View 知道 subview 已被删除 - iphone

c# - Windows 8 xaudio2 在多点触控应用程序中播放 wav 文件

java - 在OGG中录制音频

html - 如何使用 Servlet 流式传输 MP3、MP4、AVI 等音频/视频文件

iphone - 最适合 iPhone OpenGL-ES 游戏的声音/音频框架是什么?