###前提・実現したいこと
現在Androidアプリで音声合成を使いたいと思います。
APIを使った音声合成をやりたいと思っていますが、うまく行かず困っています。
###発生している問題・エラーメッセージ
Androidデバック方法もわからないので、Debuggerを使ってそれっぽいものを抽出しました
com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $
###該当のソースコード
android
1public class MainActivity extends AppCompatActivity { 2 3 public interface TextToVoice { 4 @Headers({ 5 "Authorization: Basic hogehoge=" 6 }) 7 @POST("v1/tts") 8 Call<Binary> Binaries(@Query("text") String num, @Query("speaker") String speaker); 9 } 10 11 @Override 12 protected void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 setContentView(R.layout.activity_main); 15 Retrofit retrofit = new Retrofit.Builder() 16 .addConverterFactory(GsonConverterFactory.create()) 17 .baseUrl("https://api.voicetext.jp/") 18 .build(); 19 20 //GitHubService service = retrofit.create(GitHubService.class); 21 TextToVoice voice = retrofit.create(TextToVoice.class); 22 //Call<List<Repo>> repos = service.listRepos("octcat"); 23 final Call<Binary> wave = voice.Binaries("Hello","hikari"); 24 wave.enqueue(new Callback<Binary>() { 25 @Override 26 public void onResponse(Call<Binary> call, Response<Binary> response) { 27 if (response.isSuccessful()) { 28 Binary result = response.body(); 29 String str =new String(String.valueOf(result)); 30 Log.d("Voice",str); 31 32 } 33 } 34 35 @Override 36 public void onFailure(Call<Binary> call, Throwable t) { 37 } 38 39 }); 40 } 41}
###試したこと
ヘッダーに認証情報を書かないようにしたら401が返って来たのを確認しました。
###補足情報(言語/FW/ツール等のバージョンなど)
使おうとしてるAPI: VoiceText Web API
ドキュメント→https://cloud.voicetext.jp/webapi/docs/api
Android API:19
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.google.code.gson:gson:2.8.0'
あなたの回答
tips
プレビュー