2009-05-29 42 views
7

Tôi nhận thấy rằng một số ứng dụng tắt tiếng itunes theo chương trình (nếu nó đang chạy) khi khởi chạy. Điều này đạt được như thế nào? Tôi có một trò chơi với nhạc nền và muốn dừng hoặc chơi itunes hoặc nhận được ít nhất một thông điệp mà itunes đang phát để tôi có thể dừng nhạc nền của trò chơi.iPhone: Cách phát hiện nếu iTunes đang phát?

thx, marc.

Trả lời

8

Bạn không cần. Với Phiên âm thanh, bạn có thể quyết định cách hoạt động của âm thanh.

Từ Audio Session Programming Guide:

Với giao diện phiên âm thanh, bạn xác định các khía cạnh của hành vi âm thanh ứng dụng của bạn và cấu hình nó để sống hài hòa trong môi trường âm thanh iPhone . Bạn bắt đầu bằng cách hỏi mình những câu hỏi như thế này:

  • Bạn có muốn âm thanh của bạn được im lặng bởi chiếc nhẫn/switch Im lặng? Câu trả lời có thể là “có” nếu âm thanh không cần thiết để sử dụng ứng dụng của bạn thành công. (Người dùng sẽ đánh giá cao việc có thể để chạy trò chơi của bạn trong một cuộc họp không có ai hay biết.)

  • Bạn có muốn iPod audio để tiếp tục chơi khi âm thanh của bạn bắt đầu? Điều này có thể thích hợp cho một cây đàn piano ảo, cho phép người dùng chơi cùng với các bài hát trong thư viện của họ. Tuy nhiên, bạn muốn âm thanh iPod dừng lại, tuy nhiên, , đối với ứng dụng phát sóng trực tuyến .

Có thể bạn muốn điều này:

UInt32 sessionCategory = kAudioSessionCategory_SoloAmbientSound; 
AudioSessionSetProperty (
    kAudioSessionProperty_AudioCategory, 
    sizeof (sessionCategory), 
    &sessionCategory 
); 

Để biết thêm các loại hành vi, kiểm tra Audio Session Categories, hay đọc toàn bộ Audio Session Programming Guide.

0

Tôi đã có vấn đề ngược lại. Ứng dụng của tôi phát một đoạn video ngắn không có âm thanh sau khi khởi chạy. Điều này làm cho âm nhạc iTunes phát trong nền để tắt tiếng.

Để giữ cho chơi nhạc, tôi thêm này trong applicationDidFinishLaunching:

NSError* error; 
    [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryAmbient error: &error];  
    if (error) NSLog(@"Unable to configure Audio"); 
Các vấn đề liên quan