4

Windows Phone 8 をサポートするランタイム コンポーネントを作成しようとしています。C++ ソースがありましたが、現時点では Windows Phone 8 ではサポートされないため、それらを Windows Phone ランタイム コンポーネントに変換して動作させます。ウインドウズの電話。

今問題は私がそれらを作成したことですが、次のエラーが表示されます。

    #pragma once
    #include "Encoder.h"

    namespace YakPRT
    {
     public ref class YakPRTComponent sealed
    {
      public:
        YakPRTComponent();
        void yakEncode(paTestData *yakData, uint8_t *rawData, int rawDataSize);
        void EncodeData(paTestData *yakData, uint8_t *rawData, int rawDataSize);
        void signalHandler( int signum );
                int yakRecordCallback( const void *inputBuffer, void *outputBuffer,
                           unsigned long framesPerBuffer,
                           const StreamCallbackTimeInfo* timeInfo,
                           StreamCallbackFlags statusFlags,
                           void *userData );
        PaError yakAudioStreamOpen(paTestData *yakData);
        PaError yakAudioStreamStart(paTestData *yakData);
        PaError isYakAudioStreamNotStopped(paTestData *yakData);
        PaError yakCloseAudioStream(paTestData *yakData);
    private:
        Encoder *_encoder;
      };
      }

上記のコードから発生する次のエラー、

エラー C3987: 'yakEncode': パブリック メンバーの署名にネイティブ タイプ 'paTestData *' が含まれています

エラー C3992: 'getYakCodec': パブリック メンバーの署名に無効な型が含まれています

注: paTestData は構造体であり、

    typedef struct
    {
         int          frameIndex;  /* Index into sample array. */
   FILE        *recFileStream; /* Record the stream into File */
   uint8_t     *encoderOutput;
   int         allocOutputSize; /* memory size allocated */
   int         encoderOutputSize;
   PaStream    *recordStream;   /* PaStream opened to record Audio callback. */
   AVContext *c;
    } paTestData;

私はC ++が苦手です。誰かがこのエラーとは何か、これを修正する方法を教えてください. .

4

0 に答える 0