마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

YouTube Player 를 ListView로 보여주려면

0 추천

유투브api를 테스트중입니다

리스트에 유투브플레이어를 표시하고

스크롤 되는 상태에서 재생까지 하려하는데 여러개의 리스트에 있는 플레이어 중에 하나만 재생이 됩니다

다른것은 아예 썸네일(?)도 안뜨고 검정 화면으로 있네요

public class MainActivity extends YouTubeFailureRecoveryActivity {

	ArrayList<YouTubePlayer> playerList;
	ArrayList<YouTubePlayerView> playerViewList;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		playerList = new ArrayList<YouTubePlayer>(); 
		playerViewList = new ArrayList<YouTubePlayerView>();
		ListView list = (ListView) findViewById(R.id.lv_main);
		ArrayList<String> arr = new ArrayList<String>();//그냥 더미 값입니다. 다음에 다른걸로 대체하기위해 우선 쓴것입니다.
		arr.add("a");
		arr.add("a");
		arr.add("a");
		arr.add("a");
		mArrayAdapter adapter = new mArrayAdapter(this.getApplicationContext(), 0, arr);
		list.setAdapter(adapter);
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}

	class mArrayAdapter extends ArrayAdapter<String> {

		LayoutInflater inflater = LayoutInflater.from(MainActivity.this);

		public mArrayAdapter(Context context, int resource, List<String> objects) {
			super(context, resource, objects);
			// TODO Auto-generated constructor stub
		}

		@Override
		public View getView(int position, View convertView, ViewGroup parent) {
			// TODO Auto-generated method stub
			if (convertView == null) {
				convertView = inflater.inflate(R.layout.layout_main_listview_item, parent, false);
			}
			
			YouTubePlayerView youTubeView = (YouTubePlayerView) convertView.findViewById(R.id.iv_portrait_new_thumbnail);
			playerViewList.add(youTubeView);
			youTubeView.initialize(DeveloperKey.DEVELOPER_KEY, MainActivity.this);
			return convertView;
		}

	}

	@Override
	public void onInitializationSuccess(Provider provider, YouTubePlayer player, boolean wasRestored) {
		// TODO Auto-generated method stub
		if (!wasRestored) {
			player.cueVideo("wKJ9KzGQq0w");
		}
	}

	@Override
	protected Provider getYouTubePlayerProvider() {
		// TODO Auto-generated method stub
		return (YouTubePlayerView) findViewById(R.id.iv_portrait_new_thumbnail);
	}
}

리스트로 YouTubePlayer를 표시하고 싶은데 어떻게 해야할까요

No.21 (180 포인트) 님이 2014년 8월 19일 질문

1개의 답변

+3 추천

그런게 가능하다면 여러 동영상을 동시에 다운받으면서 플레이하게 되므로

  • 데이터가 폭풍처럼 닳게 되고
  • 배터리도 광탈하겠지요.

사용자들이 매우 싫어할 듯 합니다.

아마도 유튜브 플레이어가 한 번에 하나만 동작하도록 내부적으로 구현되어 있을 듯 합니다.

 

 

익명사용자 님이 2014년 8월 19일 답변
음...
그렇다면 썸네일만 보여주고
클릭하면 재생이 되게 해야겠네요...
답변 감사합니다
...