And what about e.g. setStereoVolume() ? It sounds a bit strange that the current write() operation must finish before setStereoVolume() can be called, but if you say so.
On Sep 7, 2:44 am, Tamás Kovács <[email protected]> wrote: > OK, thanks. So you're basically saying that if I want to call e.g. > pause()+flush() on an AudioTrack, I need to guarantee that write() is > atomic in terms of my pause() and flush() call, right? > > To be brief, (per the docs), only a stop() call is allowed to execute > while a write() is in progress. Is this correct? > > On Sep 7, 2:05 am, Lew <[email protected]> wrote: > > > > > > > > > Tamás Kovács wrote: > > > > The documentation says that AudioTrack.write() is thread-safe in terms of > > > stop(). > > > > What about the other operations? As far as I can see, e.g. play() and > > > pause() should also be callable from another thread. > > > > write() is blocking, so it does not make much sense to call pause() from > > > the same thread as write(). > > > > Is it OK to use an own thread for write() and using the other operations > > > (stop, pause, play) from a different thread? > > > Nearly always, absence of a promise of thread safety is equivalent to a > > promise of thread unsafety. > > > This is more likely given the care to specify that 'write()' "is thread > > safe with respect to > > stop()<../../../reference/android/media/AudioTrack.html#stop()> > > calls" > > specifically. IOW, if it was thread safe for other calls they'd've said so. > > > We go by the docs, too, so we're unlikely to give you a different answer > > than the Javadocs do. > > > -- > > Lew -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

