仕事やら何やらでサボってしまいました。笑
こんばんは
金曜日は仕事が終わったのが第二の終電(定期外だからやりたくない最後の砦)の時間で、更新する余力が…というか完全に忘れてました←
なんでそんな時間になってしまったかと言うと、表題の件でハマってしまったからですね。
やろうとしてたのは、SurfaceViewを継承したXXXViewクラスを作って、1つのインスタンスで静止画と動画の描画を両方やるというものでした。
もう少し具体的に言うと、データベースに複数毎の静止画又は動画がセットされていた場合に、あるボタンを契機に、ページを切り替えるというものです。
(細かいことは言えないので上手く伝えられないのですが…)
やりたかったのは「静止画→動画→静止画」みたいな切替だった場合の画面遷移において、綺麗に切り替えられるようにする、という感じですね。
で、SurfaceViewというのは、画像の表示に関してはBitmapFactoryクラスで取得したビットマップデータを、CanvasクラスのdrawBitmapで表示するのですが、
動画はそうではなく、MediaPlayerに動画のパスを設定し、Canvasクラスは使わず、SurfaceHolderのインスタンスをMediaPlayerクラスに設定することで、
動画を再生します。
その二つを、同じSurfaceViewでやろうとしていたのですが、考え方が甘かったのかどうしても上手く行かず…
結果としては、継承したXXXViewクラスを、静止画用と動画用の二つに分けて、動画だった場合と静止画だった場合で分けることにしました。
多分上手くやれば出来るとは思うのですが、時間も無くて断念しました。
静止画→動画という遷移だった場合、一旦canvasの描画をクリアして、動画の再生を行う、というものだったのですが、
描画をdrawClororで透過値を書いてクリアモードを指定してクリアするという方法を取ると、
動画再生時になぜか動画の縦横のサイズが0になるという問題が発生してしまったわけです。
音声は再生されるけど、動画は表示されないという罠にハマって、23時過ぎまでかかってもダメでした…
Color.TRANCEPARENTを指定してクリアしたせいなんでしょうか。。
クリア後にその上で黒か透過値255で描けばいいんでしょうかね。
とりあえず火曜日にもう少しねばってみます。
それではそんな感じで!
こんばんは
金曜日は仕事が終わったのが第二の終電(定期外だからやりたくない最後の砦)の時間で、更新する余力が…というか完全に忘れてました←
なんでそんな時間になってしまったかと言うと、表題の件でハマってしまったからですね。
やろうとしてたのは、SurfaceViewを継承したXXXViewクラスを作って、1つのインスタンスで静止画と動画の描画を両方やるというものでした。
もう少し具体的に言うと、データベースに複数毎の静止画又は動画がセットされていた場合に、あるボタンを契機に、ページを切り替えるというものです。
(細かいことは言えないので上手く伝えられないのですが…)
やりたかったのは「静止画→動画→静止画」みたいな切替だった場合の画面遷移において、綺麗に切り替えられるようにする、という感じですね。
で、SurfaceViewというのは、画像の表示に関してはBitmapFactoryクラスで取得したビットマップデータを、CanvasクラスのdrawBitmapで表示するのですが、
動画はそうではなく、MediaPlayerに動画のパスを設定し、Canvasクラスは使わず、SurfaceHolderのインスタンスをMediaPlayerクラスに設定することで、
動画を再生します。
その二つを、同じSurfaceViewでやろうとしていたのですが、考え方が甘かったのかどうしても上手く行かず…
結果としては、継承したXXXViewクラスを、静止画用と動画用の二つに分けて、動画だった場合と静止画だった場合で分けることにしました。
多分上手くやれば出来るとは思うのですが、時間も無くて断念しました。
静止画→動画という遷移だった場合、一旦canvasの描画をクリアして、動画の再生を行う、というものだったのですが、
描画をdrawClororで透過値を書いてクリアモードを指定してクリアするという方法を取ると、
動画再生時になぜか動画の縦横のサイズが0になるという問題が発生してしまったわけです。
音声は再生されるけど、動画は表示されないという罠にハマって、23時過ぎまでかかってもダメでした…
Color.TRANCEPARENTを指定してクリアしたせいなんでしょうか。。
クリア後にその上で黒か透過値255で描けばいいんでしょうかね。
とりあえず火曜日にもう少しねばってみます。
それではそんな感じで!