

setPlayerModeでAS_SETPLAYER_OUTPUTDEVICE_I2SOUTPUTとしていますがI2S出力されません。  
ライブラリも最新にしています。考えられる原因は何でしょうか？


CC BY-SA 4.0
2019-02-14T11:05:06.363
52779
2019-02-22T11:43:41.253
2019-02-14T11:45:50.677
76
32177
question
spresense
I2S出力ができない


SPRESENSE が I2S のスレーブモードになっているためではないでしょうか？ 例えば、Raspberry Pi
はマスタークロック出力がないので、通常マスター動作（マスタークロックを出力）する DAC
が使われます。こちらの記事が詳しいです。（記事中にもありますが、マスターモードの DAC のほうがジッタが少なく高音質が期待できます）

<https://blog.bnikka.com/audio/raspi-dac.html>

SPRESENSE も マスターモード対応の DAC
が使用されることを想定して、スレーブモードとなっている可能性があります。ただ、私もまだ試していないので、もし外していたらごめんなさい。


CC BY-SA 4.0
2019-02-21T16:24:08.840
52927
2019-02-21T16:24:08.840
27334
52779
answer


ソースコードを見たところ、どうやら、

setPlayerModeでの  
AsActivatePlayerParam::output_device

は、使っていないようです。

確認したところ、

InitOutputSelect の  
InitOutputSelectParam::output_device_sel

に

AS_OUT_I2S

を入れることで、変更できました。

ご参考になれば。


CC BY-SA 4.0
2019-02-22T11:43:41.253
52947
2019-02-22T11:43:41.253
32281
52779
answer