项目:GitHub
文件:GifMovieView.java
@SuppressLint("NewApi")
private void setViewAttributes(Context context,AttributeSet attrs,int defStyle) {
/**
* Starting from HONEYCOMB have to turn off HW acceleration to draw
* Movie on Canvas.
*/
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setLayerType(View.LAYER_TYPE_SOFTWARE,null);
}
final TypedArray array = context.obtainStyledAttributes(attrs,R.styleable.GifMoviewView,defStyle,R.style.Widget_GifMoviewView);
mMovieResourceId = array.getResourceId(R.styleable.GifMoviewView_gif,-1);
mPaused = array.getBoolean(R.styleable.GifMoviewView_paused,false);
array.recycle();
if (mMovieResourceId != -1) {
mMovie = Movie.decodeStream(getResources().openRawResource(mMovieResourceId));
}
}
public Gifdrawable(Movie movie,int height,int width) {
this.movie = movie;
this.height = height;
this.width = width;
setBounds(0,width,height);
scaleX = scaleY = 1.0f;
paint = new Paint();
handler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message msg) {
if (msg.what == what && running && textView != null) {
textView.invalidate();
sendEmptyMessageDelayed(what,33);
}
}
};
}
项目:godlibrary
文件:GifView.java
@SuppressLint("NewApi")
private void setViewAttributes(Context context,int defStyle) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setLayerType(View.LAYER_TYPE_SOFTWARE,null);
}
// 从描述文件中读出gif的值,创建出Movie实例
final TypedArray array = context.obtainStyledAttributes(attrs,R.styleable.GifView,0);
mMovieResourceId = array.getResourceId(R.styleable.GifView_gif,-1);
mPaused = array.getBoolean(R.styleable.GifView_paused,false);
array.recycle();
if (mMovieResourceId != -1) {
mMovie = Movie.decodeStream(getResources().openRawResource(
mMovieResourceId));
}
}
项目:Simpler
文件:GifMovieView.java
@SuppressLint("NewApi")
private void setViewAttributes(Context context,false);
array.recycle();
if (mMovieResourceId != -1) {
mMovie = Movie.decodeStream(getResources().openRawResource(mMovieResourceId));
}
}
项目:Accessories_Android
文件:SimpleGifView.java
@SuppressLint("NewApi")
private void setViewAttributes(Context context,int defStyle) {
/**
* Starting from HONEYCOMB(Api Level:11) have to turn off HW acceleration to draw
* Movie on Canvas.
*/
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setLayerType(View.LAYER_TYPE_SOFTWARE,R.style.Widget_GifView);
//-1 is default value
mMovieResourceId = array.getResourceId(R.styleable.GifView_gif,false);
array.recycle();
if (mMovieResourceId != -1) {
movie = Movie.decodeStream(getResources().openRawResource(mMovieResourceId));
}
}
项目:Accessories_Android
文件:MovieTransaction.java
@Nullable
@Override
@AccessoryApi
public Movie startSynchronously() {
try {
return accessory.displayMovie(
mediaData,noneNullSettable(),option.or(sDefdisplayOption),progressListener,errorListener,priority)
.get();
} catch (InterruptedException | ExecutionException | CancellationException ignored) {
}
return null;
}
项目:Accessories_Android
文件:MovieProgressListenerDelegate.java
@Override
public void onComplete(Movie result) {
callOnComplete(result);
if (result == null) {
return;
}
if (canceled) {
cacheManager.cache(url,result);
return;
}
final boolean isViewMaybeReused = option.isViewMaybeReused();
if (!isViewMaybeReused || !checkTaskDirty()) {
ViewAnimator<Movie> animator = (option == null ? null : option.getAnimator());
ArrayList<MediaArt<Movie>> handlers = (option == null ? null : option.getMediaArts());
UISettingApplier.getSharedApplier().applySettings(result,handlers,settable,animator);
}
cacheManager.cache(url,result);
}
项目:Accessories_Android
文件:DrawableMediaFetcher.java
@Override
public Movie fetchFromUrl(@NonNull String url,@NonNull DecodeSpec decodeSpec,@Nullable ProgressListener<Movie> progressListener,@Nullable ErrorListener errorListener) throws Exception {
super.fetchFromUrl(url,decodeSpec,errorListener);
Resources resources = this.mContext.getResources();
int resId = resources.getIdentifier(mSplitter.getRealPath(url),"drawable",this.mContext.getPackageName());
if (resId <= 0) {
callOnError(errorListener,new Cause(new Resources.NotFoundException(String.format("Res of id-%s not found.",resId))));
return null;
}
callOnStart(progressListener);
@Cleanup
InputStream inputStream = resources.openRawResource(0);
Movie movie = Movie.decodeStream(inputStream);
callOnComplete(progressListener,movie);
return movie;
}
项目:Accessories_Android
文件:AssetsMediaFetcher.java
@Override
public Movie fetchFromUrl(@NonNull String url,errorListener);
String path = mSplitter.getRealPath(url);
synchronized (this) {
if (mAssets == null) mAssets = mContext.getAssets();
}
@Cleanup
InputStream in = null;
try {
in = mAssets.open(path);
callOnStart(progressListener);
Movie result = Movie.decodeStream(in);
callOnComplete(progressListener,result);
return result;
} catch (IOException e) {
callOnError(errorListener,new Cause(e));
return null;
}
}
项目:Accessories_Android
文件:FileMediaFetcher.java
@Override
public Movie fetchFromUrl(@NonNull String url,errorListener);
String path = mSplitter.getRealPath(url);
File file = new File(path);
if (!file.exists()) {
callOnError(errorListener,new Cause(new FileNotFoundException(String.format("File %s not found.",url))));
return null;
}
callOnStart(progressListener);
Movie movie = Movie.decodeFile(path);
callOnComplete(progressListener,movie);
return movie;
}
public MoviedisplayTask(Context context,LoaderConfig loaderConfig,TaskInterrupter displayTaskMonitor,MediaData<Movie> url,DimenSpec spec,MediaQuality quality,ProgressListener<Movie> progressListener,ErrorListener errorListener,displayTaskRecord taskRecord) {
this.mContext = context;
this.mloaderConfig = loaderConfig;
this.mdisplayTaskMonitor = displayTaskMonitor;
this.mMediaData = url;
this.mDimenSpec = spec;
this.mQuality = quality;
this.mProgressListener = progressListener;
this.mErrorListener = errorListener;
this.mTaskRecord = taskRecord;
}
项目:AndroidFFmpegCMDTool
文件:GifMovieView.java
@SuppressLint("NewApi")
private void setViewAttributes(Context context,false);
array.recycle();
if (mMovieResourceId != -1) {
mMovie = Movie.decodeStream(getResources().openRawResource(mMovieResourceId));
}
}
项目:MusicOnlinePlayer
文件:PowerImageView.java
/**
* PowerImageView构造函数,在这里完成所有必要的初始化操作。
*
* @param context
*/
public PowerImageView(Context context,int defStyle) {
super(context,attrs,defStyle);
TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.PowerImageView);
int resourceId = getResourceId(a,context,attrs);
if (resourceId != 0) {
// 当资源id不等于0时,就去获取该资源的流
InputStream is = getResources().openRawResource(resourceId);
// 使用Movie类对流进行解码
mMovie = Movie.decodeStream(is);
if (mMovie != null) {
// 如果返回值不等于null,就说明这是一个gif图片,下面获取是否自动播放的属性
isAutoplay = a.getBoolean(R.styleable.PowerImageView_auto_play,false);
Bitmap bitmap = BitmapFactory.decodeStream(is);
mImageWidth = bitmap.getWidth();
mImageHeight = bitmap.getHeight();
bitmap.recycle();
if (!isAutoplay) {
// 当不允许自动播放的时候,得到开始播放按钮的图片,并注册点击事件
mStartButton = BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher);
setonClickListener(this);
}
}
}
}
项目:devbricks
文件:MovieAsyncDecoder.java
@Override
protected Movie doInBackground(Context... params) {
Context context = null;
if (params != null && params.length > 0) {
context = params[0];
}
if (mMovieKey == null || mDecodeSource == null) {
return null;
}
Movie cachedMovie = MovieCacheManager.queryCachedMovie(mMovieKey);
if (cachedMovie != null) {
Logger.debug("SKIP DECODE EXIST MOVIE: thumbKey = %s",mMovieKey);
return null;
}
return doDecodeMovie(context,mMovieKey,mDecodeSource);
}
项目:devbricks
文件:MovieAsyncDecoder.java
@Override
protected Movie doDecodeMovie(Context context,String thumbKey,String decodeSource) {
if (decodeSource == null) {
return null;
}
Movie movie = null;
try {
movie = Movie.decodeFile(decodeSource);
} catch (OutOfMemoryError e) {
Logger.debug("decode movie failure: %s",e.toString());
movie = null;
}
/* Logger.debug("DECODE THUMB: thumb = %s,movie = %s",thumbPath,movie);
*/
return movie;
}
项目:DialogUtil
文件:GifMovieView.java
@SuppressLint("NewApi")
private void setViewAttributes(Context context,false);
array.recycle();
if (mMovieResourceId != -1) {
mMovie = Movie.decodeStream(getResources().openRawResource(mMovieResourceId));
}
}
项目:quotograph
文件:GifView.java
项目:Android-PullToRefresh-Extention
文件:LoadingGifView.java
@SuppressLint("NewApi")
private void setViewAttributes(Context context,R.styleable.PullToRefresh,R.style.Widget_GifView);
mMovieResourceId = array.getResourceId(R.styleable.PullToRefresh_ptrGifResource,-1);
mPaused = array.getBoolean(R.styleable.PullToRefresh_ptrGifPaused,false);
array.recycle();
if (mMovieResourceId != -1) {
mMovie = Movie.decodeStream(getResources().openRawResource(
mMovieResourceId));
}
}
项目:Subreddit_Reader
文件:GifView.java
@SuppressLint("NewApi")
private void setViewAttributes(Context context,R.style.Widget_GifMoviewView);
mMovieResourceId = array.getResourceId(R.styleable.GifView_gif,false);
array.recycle();
if (mMovieResourceId != -1) {
mMovie = Movie.decodeStream(getResources().openRawResource(mMovieResourceId));
}
}
项目:GifView
文件:GifView.java
@SuppressLint("NewApi")
private void setViewAttributes(Context context,false);
array.recycle();
if (mMovieResourceId != -1) {
movie = Movie.decodeStream(getResources().openRawResource(mMovieResourceId));
}
}
public Gifdrawable(Movie movie,33);
}
}
};
}
项目:BlackLight
文件:GifView.java
@SuppressLint("NewApi")
private void setViewAttributes(Context context,null);
}
final TypedArray array = context.obtainStyledAttributes(attrs,R.style.Widget_GifView);
mMovieResourceId = array.getResourceId(R.styleable.GifView_gif,false);
array.recycle();
if (mMovieResourceId != -1) {
mMovie = Movie.decodeStream(getResources().openRawResource(
mMovieResourceId));
}
}
项目:droidex
文件:AnimatedGifImageView.java
public void setAnimatedGif(int rawResourceId,TYPE streachType) {
setimageBitmap(null);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setLayerType(View.LAYER_TYPE_SOFTWARE,null);
}
mType = streachType;
animatedGifImage = true;
is = getContext().getResources().openRawResource(rawResourceId);
try {
mMovie = Movie.decodeStream(is);
} catch (Exception e) {
e.printstacktrace();
byte[] array = streamToBytes(is);
mMovie = Movie.decodeByteArray(array,array.length);
}
p = new Paint();
}
项目:droidex
文件:AnimatedGifImageView.java
public void setAnimatedGif(String filePath,TYPE streachType) throws FileNotFoundException {
setimageBitmap(null);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
setLayerType(View.LAYER_TYPE_SOFTWARE,null);
}
mType = streachType;
animatedGifImage = true;
InputStream is;
try {
mMovie = Movie.decodeFile(filePath);
} catch (Exception e) {
e.printstacktrace();
is = new FileInputStream(filePath);
byte[] array = streamToBytes(is);
mMovie = Movie.decodeByteArray(array,array.length);
}
p = new Paint();
}
项目:test4android
文件:PowerImageView.java
/**
* PowerImageView构造函数,在这里完成所有必要的初始化操作。
*
* @param context
*/
public PowerImageView(Context context,attrs);
if (resourceId != 0) {
// 当资源id不等于0时,就去获取该资源的流
InputStream is = getResources().openRawResource(resourceId);
// 使用Movie类对流进行解码
mMovie = Movie.decodeStream(is);
if (mMovie != null) {
// 如果返回值不等于null,就说明这是一个gif图片,下面获取是否自动播放的属性
isAutoplay = a.getBoolean(R.styleable.PowerImageView_auto_play,false);
Bitmap bitmap = BitmapFactory.decodeStream(is);
mImageWidth = bitmap.getWidth();
mImageHeight = bitmap.getHeight();
bitmap.recycle();
if (!isAutoplay) {
// 当不允许自动播放的时候,得到开始播放按钮的图片,并注册点击事件
mStartButton = BitmapFactory.decodeResource(getResources(),R.drawable.start_play);
setonClickListener(this);
}
}
}
}
项目:misound
文件:GifView.java
@SuppressLint("NewApi")
private void setViewAttributes(Context context,R.styleable.GifView);
mMovieResourceId = array.getResourceId(R.styleable.GifView_gif,-1);
mPaused = false;
array.recycle();
if (mMovieResourceId != -1) {
mMovie = Movie.decodeStream(getResources().openRawResource(
mMovieResourceId));
}
}
项目:gif-movie-view
文件:GifMovieView.java
@SuppressLint("NewApi")
private void setViewAttributes(Context context,false);
array.recycle();
if (mMovieResourceId != -1) {
mMovie = Movie.decodeStream(getResources().openRawResource(mMovieResourceId));
}
}
项目:GitHub
文件:WoWoGifView.java
public void setGifResource(int movieResourceId) {
this.mMovieResourceId = movieResourceId;
movie = Movie.decodeStream(getResources().openRawResource(mMovieResourceId));
mDuration = movie.duration();
if (mDuration == 0) mDuration = DEFAULT_MOVIE_VIEW_DURATION;
requestLayout();
}
项目:SkinFramework
文件:ComposedResources.java
@Override
public Movie getMovie(@RawRes int id) throws NotFoundException {
int realId = getCorrespondResId(id);
if (realId > 0) {
return mSkinResources.getMovie(realId);
}
return super.getMovie(id);
}
项目:godlibrary
文件:GifView.java
项目:android-library
文件:GifImageView.java
private void init() {
setFocusable(true);
mMovie = Movie.decodeStream(mInputStream);
mWidth = mMovie.width();
mHeight = mMovie.height();
requestLayout();
}
项目:mi-firma-android
文件:GIFView.java
public GIFView(Context context,int defStyleAttr) {
super(context,defStyleAttr);
movie = Movie.decodeStream(
context.getResources().openRawResource(+ R.drawable.dni_nfc)
);
}
项目:mi-firma-android
文件:GIFView.java
public GIFView(Context context,AttributeSet attrs) {
super(context,attrs);
movie = Movie.decodeStream(
context.getResources().openRawResource(+ R.drawable.dni_nfc)
);
Paint p = new Paint();
p.setAntiAlias(true);
setLayerType(LAYER_TYPE_SOFTWARE,p);
}
项目:sologyr
文件:AnimationView.java
public void setByteArray(byte[] b) {
if (b != null)
m_movie = Movie.decodeByteArray(b,b.length);
if (b != null && m_movie != null) {
Log.d(TAG,"decoded " + b.length + " bytes to " + m_movie.duration() + " msecs," +
m_movie.width() + "x" + m_movie.height());
invalidate();
}
}
项目:Accessories_Android
文件:UISettingApplier.java
void applySettings(Movie movie,List<MediaArt<Movie>> arts,MediaHolder<Movie> mediaHolder,ViewAnimator<Movie> animator) {
if (mediaHolder != null) {
MovieViewSettings settings = new MovieViewSettings(
animator,mediaHolder,(arts == null || arts.size() == 0
? movie
: MultipleMediaArtistCaller.call(arts,movie,mediaHolder)));
mUIThreadHandler.obtainMessage(MSG_APPLY_SETTINGS,settings).sendToTarget();
}
}
项目:Accessories_Android
文件:MovieProgressListenerDelegate.java
项目:Accessories_Android
文件:ContentMediaFetcher.java
@Override
public Movie fetchFromUrl(@NonNull String url,errorListener);
callOnStart(progressListener);
@Cleanup
InputStream inputStream = mContext.getContentResolver().openInputStream(Uri.parse(url));
Movie movie = Movie.decodeStream(inputStream);
callOnComplete(progressListener,movie);
return movie;
}
private void callFetch() {
try {
MediaSource<Movie> source = mMediaData.getSource();
MediaFetcher<Movie> fetcher = source.getFetcher(mContext,mloaderConfig);
DecodeSpec decodeSpec = new DecodeSpec(mQuality,mDimenSpec);
mResult = fetcher.fetchFromUrl(mMediaData.getUrl(),mProgressListener,mErrorListener);
} catch (InterruptedioException | InterruptedException ignored) {
LoggerManager.getLogger(getClass()).debug("Ignored error:" + ignored.getLocalizedMessage());
} catch (Exception e) {
if (mErrorListener != null)
mErrorListener.onError(new Cause(e));
}
}
项目:truth-android
文件:MovieSubject.java
public static SubjectFactory<MovieSubject,Movie> type() {
return new SubjectFactory<MovieSubject,Movie>() {
@Override
public MovieSubject getSubject(FailureStrategy fs,Movie that) {
return new MovieSubject(fs,that);
}
};
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。