• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: kAudioDevicePropertyHogMode and NSSpeechSynthesizer...
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: kAudioDevicePropertyHogMode and NSSpeechSynthesizer...


  • Subject: Re: kAudioDevicePropertyHogMode and NSSpeechSynthesizer...
  • From: "charlie" <email@hidden>
  • Date: Fri, 04 Jun 2010 01:22:32 +0000


Thanks for the quick response, Jeff.

This is for a kiosk test-taking app. One of the many lock down responsibilities of the app is to ensure that the test taker cannot have a pre-recorded audio cheat sheet playing in QuickTime Player or iTunes while he's taking the test. But at the same time, some students will need audio assistance from within the app to read questions aloud using text-to-speech.


I just noticed something interesting...

NSSpeechSynthesizer's documentation states that it outputs thru the "default output device", which I'm assuming means the selected output device in the Sound pref pane in System Preferences.

If I open the Sound preferences and watch what happens when my app enters and exits exclusive output mode, I see that the selected output device (in the Sound pref pane) changes away from "Built-in Output" to something else when I enter exclusive mode, then switches back to "Built-in Output" after I exit exclusive mode.

Logically, this makes sense I guess, since my app now owns that hardware, no one else should be able to route thru it.

But... If NSSpeechSynthesizer is trying to output thru the "default output device", then that might mean that it's picking up whatever happens to be selected in the Sound pref pane at that moment, which, in my case, would be "MacVide Audio Connector" and would result in silence.

What I was hoping though, is that NSSpeechSynthesizer would define "default output device" from the app's perspective, not the System Preferences' perspective.

Is there another list that would be better for asking questions about NSSpeechSynthesizer?

Thanks.

Chuck




On June 3, 2010 09:02:51 P.M. EDT, Jeff Moore <email@hidden> wrote:

I don't know a whole lot about NSSpeechSynthesizer. If it has a facility to tell it what audio device to use, then you might be able to work around the issue that way.

But to turn things on their heads, why do you need hog mode for your app? Hog mode is a really unfriendly thing to assert on the system. As such, it should only be used in circumstances where it is essential like sending non-mixable data (such as AC-3) to the hardware. The vast majority of apps are best off pretending like hog mode doesn't exist.

--

Jeff Moore
Core Audio
Apple




On Jun 3, 2010, at 5:56 PM, charlie wrote:


To be clear, when I say it's "working perfectly", I mean that other apps stop emitting sound after I gain exclusive control of the output device and then resume emitting sound again after I relinquish exclusive control.


The only sound my app will be generating is NSSpeechSynthesizer text-to-speech.

Do I need to tell NSSpeechSynthesizer that we're in exclusive output mode somehow? Do I need to "select" the output device somehow after entering exclusive mode for that device?

Thanks.

Chuck





On June 3, 2010 08:45:51 P.M. EDT, charlie <email@hidden> wrote:

I can obtain and relinquish exclusive control of the built-in output device using kAudioDevicePropertyHogMode. This works perfectly.
But, after obtaining exclusive control of the built-in output device, NSSpeechSynthesizer does not work (from within the same app/pid).
Anyone know how I can get NSSpeechSynthesizer to work while in exclusive output mode?
Thanks.
Chuck
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden

_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (email@hidden) Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden



_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
  • Follow-Ups:
    • Re: kAudioDevicePropertyHogMode and NSSpeechSynthesizer...
      • From: Jeff Moore <email@hidden>
  • Prev by Date: Re: kAudioDevicePropertyHogMode and NSSpeechSynthesizer...
  • Next by Date: Re: kAudioDevicePropertyHogMode and NSSpeechSynthesizer...
  • Previous by thread: Re: kAudioDevicePropertyHogMode and NSSpeechSynthesizer...
  • Next by thread: Re: kAudioDevicePropertyHogMode and NSSpeechSynthesizer...
  • Index(es):
    • Date
    • Thread