La mia app utilizza HLS per lo streaming di video da un server, ma quando richiedo lo streaming HLS dal server devo passare il massimo bitrate video che il dispositivo può gestire. Nello Android API guides si dice che "i profili di registrazione video disponibili di un dispositivo possono essere utilizzati come proxy per le funzionalità di riproduzione multimediale", ma quando provo a recuperare il video Bitrate per la fotocamera posteriore del dispositivo, viene sempre restituito a 12 Mb/s indipendentemente da il dispositivo (Galaxy Nexus, Galaxy Tab Plus 7 ", Galaxy Tab 8.9), nonostante abbiano 3 GPU diverse (PowerVR SGX540, Mali-400 MP, Tegra 250 T20). Ecco il mio codice, sto facendo qualcosa di sbagliato?Come ottenere CamcorderProfile.videoBitRate per un dispositivo Android?
CamcorderProfile camcorderProfile = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
targetVideoBitRate = camcorderProfile.videoBitRate;
Se provo questo sul Galaxy Tab più:
boolean hasProfile = CamcorderProfile.hasProfile(CamcorderProfile.QUALITY_HIGH);
restituisce vero, nonostante il fatto che QUALITY_HIGH è per la registrazione a 1080p e le specifiche dicono che può registrare solo a 720p.
un cellulare da avviare con il sistema operativo Android deve fornire alcuni valori come quello. a volte i marchi mettono solo un valore casuale su quei campi. Ho affrontato un problema simile quando cercavo di ottenere l'angolo di campo visivo della telecamera in cui mettevano valori come 10 gradi, che è inattaccabile. Probabilmente hai lo stesso problema. non gliene frega un cazzo vogliono solo mettere uno smartphone sul mercato e non preoccuparsi dei programmatori –