Tôi đang cố gắng để có được một âm thanh để chơi nhưng khi tôi mã:CFURLRef đòi hỏi một lỗi cast bắc cầu
AudioServicesCreateSystemSoundID ((CFURLRef) alertSound, &soundFileObject);
nó ném các lỗi sau:
Cast của Objective-C kiểu con trỏ ' NSURL *' C con trỏ gõ 'CFURLRef'(aka 'struct __CFURL const *') đòi hỏi một lỗi cast bắc cầu
tôi đã thử cả hai sau đây giải pháp đề nghị:
AudioServicesCreateSystemSoundID ((__bridge CFURLRef) alertSound, &soundFileObject);
hoặc
AudioServicesCreateSystemSoundID ((CFURLRef) CFBridgingRetain(alertSound), &soundFileObject);
Nhưng tôi vẫn không thể có được những âm thanh để chơi.
Tôi đoán câu hỏi là: là lỗi bắc cầu nguyên nhân của âm thanh không phát hoặc tôi có nên tìm nơi khác không?
Tôi có thể phát âm thanh bằng cách sử dụng mã mẫu SysSound và tôi đang sử dụng iOS 6 và Xcode 4.5.
Thanks cho bất kỳ gợi ý :)
Yep, -50. NSURL của tôi trông giống như sau: NSURL * alertSound = [[NSBundle mainBundle] URLForResource: @ "tap" withExtension: @ "aif"]; Và tệp "tap.aif" nằm trong nhóm tôi đã tạo được gọi là Âm thanh. Có nơi nào đó cụ thể mà nó cần phải được đặt? Rất cám ơn sự giúp đỡ của bạn! – robspencer77
Chỉ cần chắc chắn kiểm tra trong trình gỡ lỗi hoặc với một 'NSLog' rằng URL thực sự là không. Điều này có nghĩa là (như tôi nghĩ bạn đang bắt đầu nghi ngờ) rằng Xcode không sao chép âm thanh của bạn vào gói ứng dụng của bạn. Bạn có thể thử loại bỏ nó (chỉ tham chiếu !!!!) từ dự án của bạn và thêm lại nó và cũng kiểm tra lại rằng chính tả của tên tệp là chính xác (có thể là .aiff?). Tôi không nghĩ rằng bạn cần phải đặt nó ở bất cứ nơi nào đặc biệt. Tôi thường đặt những thứ như vậy trong nhóm "Hỗ trợ tập tin" mà Xcode tạo ra, nhưng tôi không nghĩ rằng đó là bắt buộc. – idz
Ah, hiểu rồi! Cảm ơn! :) Không chắc chắn lý do tại sao điều đó chưa được thêm chính xác ngay từ đầu. Chúc mừng, idz! – robspencer77