- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在从服务器下载插图、标题和音频数据文件,并能够在表格单元格中显示。
单击表格单元格中的播放按钮时,将音频数据保存到本地文件中,然后尝试从文档文件路径播放。音频未在 AVAudioPlayer 上播放并出现错误。
搜索了很多,但到目前为止还没有找到解决方案。您能否更正我的代码并帮助解决此问题。下面是我的代码。
class AudioViewController: UIViewController,UITableViewDataSource, UITableViewDelegate, AVAudioPlayerDelegate {
var audioPlayer: AVAudioPlayer?
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let myCell:AudioTableViewCell = tableView.dequeueReusableCellWithIdentifier("audioCell", forIndexPath: indexPath) as! AudioTableViewCell
myCell.lblAudioTitle.text = arrDictAudios[indexPath.row]["title"] as? String
let artworkData = arrDictAudios[indexPath.row]["artwork"] as? NSData
myCell.imgArtwork.image = UIImage(data: artworkData!)
myCell.btnOutletPlay.tag = indexPath.row
myCell.btnOutletPlay.addTarget(self, action: "playButtonClicked:", forControlEvents: UIControlEvents.TouchUpInside)
return myCell
}
func playButtonClicked(sender: AnyObject) {
let buttonRow = sender.tag
let buttonRowNSNumber = buttonRow as NSNumber
let audioData = arrDictAudios[buttonRow]["data"] as? NSData
print(audioData?.length)
let audioFileNameWithExt = NSString(format: "/%@.m4a",buttonRowNSNumber.stringValue)
var documentsDirectory:String?
var paths:[AnyObject] = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
if paths.count > 0 {
documentsDirectory = paths[0] as? String
let savePath = documentsDirectory! + (audioFileNameWithExt as String)
NSFileManager.defaultManager().createFileAtPath(savePath, contents: audioData, attributes: nil)
print("savedPath %@", savePath)
/var/mobile/Containers/Data/Application/8A6AEAAE-B144-4EB2-A70C-99520A0AD9D3/Documents/1.m4a
do {
audioPlayer = try AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: savePath), fileTypeHint: AVFileTypeAppleM4A)
audioPlayer!.prepareToPlay()
audioPlayer!.play()
}
catch let error as NSError{
print(error.description)
//Error Domain=NSOSStatusErrorDomain Code=1954115647 "(null)"
}
}
}
}
最佳答案
请尝试此代码。
func play() {
if let data = NSData(contentsOfURL: savePath) {
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: .AllowBluetooth)
try AVAudioSession.sharedInstance().setActive(true)
audioPlayer = try AVAudioPlayer(data: data, fileTypeHint: AVFileTypeAppleM4A)
audioPlayer!.prepareToPlay()
audioPlayer!.play()
} catch let error as NSError {
print("Unresolved error \(error.debugDescription)")
}
}
}
关于audio - AVAudioPlayer 不工作。 swift2 中的错误域=NSOSStatusErrorDomain 代码=1954115647 "(null)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35593059/
我在使用获取属性时收到以下错误 AudioSessionGetProperty(kAudioSessionProperty_CurrentHardwareSampleRate,&size,
我从几个小时前就开始尝试解决 AVAudioSession 问题,但没有成功!! 我发现很多人都在谈论 endInterruption 的问题,但没有人谈论这个错误: Unable to reacti
我的旧 sdk 3.0 项目中的代码无法与新 sdk 一起使用。我已经将代码复制到一个非常简单的项目中(只是一个 uivue 项目,我将声音代码放在 onload 中)以确保我所做的任何其他事情都不会
当我尝试使用 AVAssetExport 导出 Assets 时,仅在通过 Whatsapp 接收的视频上可能会出现以下错误。 我找不到可行的解决方案。我还尝试过实现代码来修复视频时长,但我没有修复它
AVAudioPlayer 在某些本地 MP3 文件上出现以下错误: Error Domain=NSOSStatusErrorDomain Code=-54 "(null)" 我正在将 zip 文件
所以我有一个 AVAudioPlayer,有时它工作得很好,但有时它会打印错误“Error Domain=NSOSStatusErrorDomain Code=1954115647”(null)”。这
我正在尝试使用以下代码获取视频缩略图: let asset = AVAsset(URL: url) let imageGenerator = AVAssetImageGenerator(ass
我正在从服务器下载插图、标题和音频数据文件,并能够在表格单元格中显示。 单击表格单元格中的播放按钮时,将音频数据保存到本地文件中,然后尝试从文档文件路径播放。音频未在 AVAudioPlayer 上播
我的问题很简单,我正在尝试使用 Swift 向 Finder 中的某些文件添加标签,但遇到以下错误:Error Domain=NSOSStatusErrorDomain Code=-5000 "afp
我在 iPad iOS 9.3.4(撰写本文时的最新版本)上运行。 我正在运行这段代码: let settings = [ AVFormatIDKey: NSNumber(unsign
我正在使用 AVPlayer 播放在线 mp3 流!当我暂停播放器时 [AVPlayer pause]; AVAudioSession *session = [AVAudioSession share
我们通过 TestFlight 发布的应用目前正在为少数用户遇到崩溃,而且该崩溃很难调查。它发生在 iOS 9 和 9.1 上,我们已经在几款不同的 iPhone 上看到了它。我们已经测试了所有这些设
我在聊天应用程序中使用了AVPlayer,但是在选择的音频文件中出现了休闲错误,但是音频文件在浏览器中正确播放。 Error Domain=AVFoundationErrorDomain Code=-
我正在 Swift3 iOS 中开发视频应用程序。基本上我必须将视频 Assets 和音频与淡入淡出效果合并为一个并将其保存到 iPhone 画廊。为此,我使用以下方法: private func d
我正在使用 Swift 开发基于视频的应用程序。我在哪里导出带有水印 Logo 和淡入淡出效果的视频剪辑。这是我的代码: func watermark(video videoAsset:AVAsset
我正在使用 Pjsip 开发一个 VoIP 应用程序在 objective-C 中。 我想尝试集成 CallKit,但我在 configureAudioSession 上遇到错误。我从 Speaker
我是一名优秀的程序员,十分优秀!