This is not part of the NDK.  *NO* C++ classes are part of the NDK.

Even if you manage to get this to work, you are using private implementation
details of the platform, and I can guarantee you that your app will break
all over the place on different devices.

On Tue, Oct 25, 2011 at 1:36 AM, HamdiHamZ <hamdi.zr...@gmail.com> wrote:

> Hi folks,
>
> I ma trying to write a media player for Android 2.2. I am using
> NDK_rb6 to build my JNI library written i C/C++ (under Ubuntu
> 11.04)... Actually, I faced a lot of problems of linking and
> dependencies, I resolved a lot of the and I am stuck with this one:
>
> ~/dev/workspace/MyApp/jni/android-out.cpp:95: undefined reference to
> `android::AudioTrack::set(int, unsigned int, int, int, int, unsigned
> int, void (*)(int, void*, void*), void*, int,
> android::sp<android::IMemory> const&, bool, int)'
> collect2: ld returned 1 exit status
>
> However, I found its definition in $(ANDROID_SRC)/frameworks/base/
> media/libmedia/AudioTrack.cpp:
>
> status_t AudioTrack::set(
>        int streamType,
>        uint32_t sampleRate,
>        int format,
>        int channels,
>        int frameCount,
>        uint32_t flags,
>        callback_t cbf,
>        void* user,
>        int notificationFrames,
>        const sp<IMemory>& sharedBuffer,
>        bool threadCanCallJava,
>        int sessionId)
> {
> ...
> }
>
> and in the header that I included (media/audioTrack.h):
>
>   /* Initialize an uninitialized AudioTrack.
>     * Returned status (from utils/Errors.h) can be:
>     *  - NO_ERROR: successful intialization
>     *  - INVALID_OPERATION: AudioTrack is already intitialized
>     *  - BAD_VALUE: invalid parameter (channels, format,
> sampleRate...)
>     *  - NO_INIT: audio server or audio hardware not initialized
>     * */
>            status_t    set(int streamType      =-1,
>                            uint32_t sampleRate = 0,
>                            int format          = 0,
>                            int channels        = 0,
>                            int frameCount      = 0,
>                            uint32_t flags      = 0,
>                            callback_t cbf      = 0,
>                            void* user          = 0,
>                            int notificationFrames = 0,
>                            const sp<IMemory>& sharedBuffer = 0,
>                            bool threadCanCallJava = false,
>                            int sessionId = 0);
>
>
> and I am using it this way:
>
> status = track->set(AudioSystem::MUSIC,
>                        audec->samplerate,
>                        AudioSystem::PCM_16_BIT,
>                        (audec->channels == 1) ?
> AudioSystem::CHANNEL_OUT_MONO : AudioSystem::CHANNEL_OUT_STEREO,
>                        0,       // frameCount
>                        0,       // flags
>                        audioCallback,
>                        audec,    // user when callback
>                        0,       // notificationFrames
>                        0,       // shared buffer
>                        0);
>
>
>
> So I am not able to see where am I wrong?
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>



-- 
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to