質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Q&A

解決済

1回答

721閲覧

YouTubeの動画をバックグラウンド再生できるAndroidアプリを開発したい

nyuma

総合スコア8

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

0グッド

0クリップ

投稿2018/07/31 19:26

YouTubeの動画をバックグラウンド再生できるAndroidアプリを開発したい

プログラミング初心者です。

YouTubeの動画再生中に電源ボタンを押したりホームボタンを押したりしても、音声だけはそのまま再生されるようなアプリをAndroid Studio(Java)で開発しようとしています。

youtubeplayerfragmentとServiceを使ってバックグラウンド再生をしようとしましたが、なかなか上手くいきません。

どのような処理にすればタイトルのアプリを実現できるでしょうか?

該当のソースコード

Java

1public class YouTubePlayerService extends Service { 2 @Override 3 public void onCreate() { 4 super.onCreate(); 5 6 } 7 8 @Override 9 public int onStartCommand(Intent intent, int flags, int startId) { 10 AppCompatActivity a = new AppCompatActivity(); 11 YouTubePlayerFragment youTubePlayerFragment = (YouTubePlayerFragment) a.getFragmentManager().findFragmentById(R.id.youtube_player); 12 youTubePlayerFragment.initialize("<取得したAPIキー>", new com.google.android.youtube.player.YouTubePlayer.OnInitializedListener() { 13 @Override 14 public void onInitializationSuccess(com.google.android.youtube.player.YouTubePlayer.Provider provider, com.google.android.youtube.player.YouTubePlayer player, boolean wasRestored) { 15 player.loadVideo("<Youtubeの動画ID>"); 16 } 17 18 @Override 19 public void onInitializationFailure(com.google.android.youtube.player.YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) { 20 21 } 22 }); 23 return START_NOT_STICKY; 24 } 25 26 @Override 27 public void onDestroy() { 28 super.onDestroy(); 29 } 30 31 @Override 32 public IBinder onBind(Intent intent) { 33 return null; 34 } 35 36}

試したこと

バックグラウンド再生ができる既存のアプリのapkからclassを抽出してリバースエンジニアリングしようとしましたが、複雑なため知りたい処理の該当箇所までたどり着けませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

回答になってなかったらすいません
YouTubeの規約では、「映像と音声を切り離してはいけない」というものがある、と
聞いたことがあります。
ですからもしできたとしてもそれを公開することはできませんし、
もしかしたらその規約によってAPIに制限がかかっているから実現不可能ということかもしれません。

投稿2018/08/01 01:29

trinitrotoluene

総合スコア52

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nyuma

2018/08/01 06:47

なるほど、だから世に出回ってるyoutube再生アプリはポップアップ再生までしか出来ないんですね。ご回答ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問