2010-11-15 38 views
8

Tôi đã tìm kiếm giải pháp cho giờ .. với hoàn toàn không may mắn.Âm thanh tùy chỉnh UILocalNotification

tôi thiết lập một thông báo địa phương:

UILocalNotification *notif = [[cls alloc] init]; 

[dateComp setDay:j+1]; 
[dateComp setHour:[[time objectAtIndex:0] integerValue]+offset]; 
[dateComp setMinute:[[time objectAtIndex:1] integerValue]]; 

NSLog(@"Year: %i, Month: %i, Day: %i, Time:%i:%i\n",[dateComp year], [dateComp month], 
        [dateComp day], [dateComp hour], [dateComp minute]); 

notif.fireDate = [gregorian dateFromComponents:dateComp]; 
notif.timeZone = [NSTimeZone defaultTimeZone]; 

notif.alertBody = [names objectAtIndex: k]; 
notif.soundName = @"fireburn.caf"; 

Thông báo tên âm thanh ...

Tôi cố gắng để đưa 10 âm thanh (aiff, wav, caf ... vv), nhưng thông báo chỉ bật lên với âm thanh mặc định:/

Tôi có tệp "fireburn.caf" trong thư mục Tài nguyên.

Tại sao nó không phát âm thanh của tôi ?????

Cảm ơn.

Trả lời

10

ĐÁP:

Không có gì sai với mã ..

Chỉ là iPhone ngu ngốc không hủy bỏ các thông báo cũ mà tôi đã thực hiện với các âm thanh mặc định - _ -;

Khi tôi làm sạch dự án, xóa ứng dụng khỏi điện thoại và khởi động lại điện thoại THEN nó làm việc ..

Hope ai đó tìm thấy hữu ích này.

+3

Nếu ai đó vẫn nên phải vật lộn với vấn đề này, tôi phát hiện ra rằng nó có thể là cần thiết làm một điều nữa. Khi kéo thả tệp âm thanh vào dự án của bạn, ngoài việc chọn "Sao chép ...", bạn có thể cần phải chọn tùy chọn "Thêm vào nhắm mục tiêu". Điều này đã làm cho tôi. Cảm ơn câu trả lời anyway. –

+0

Tuyệt vời, nhưng sau đó một lần nữa, vấn đề của bạn phải làm với bất kỳ tệp tài nguyên nào bạn thêm (hình ảnh, âm thanh, phông chữ, ... vv);) – Mazyod

1

được bạn làm sạch các thông báo cũ với

UIApplication* app = [UIApplication sharedApplication]; 
NSArray* oldNotifications = [app scheduledLocalNotifications]; 

// Clear out the old notification before scheduling a new one. 
[app cancelAllLocalNotifications]; 

?

+0

Yup .. Tôi đã. Không làm việc. – Mazyod

0

Hãy thử điều này:

notif.soundName = [strSoundFileName copy]; 
+1

Ông đã có giải pháp cho vấn đề! – Hemang

Các vấn đề liên quan