DIR Return Create A Forum - Home
---------------------------------------------------------
IMVUElite
HTML https://imvusins.createaforum.com
---------------------------------------------------------
*****************************************************
DIR Return to: Discussions
*****************************************************
#Post#: 108--------------------------------------------------
Imvu voice chat
DIR By: PATRON
Date: January 3, 2018, 5:24 pm
---------------------------------------------------------
is there a way for custom client with voice chat drivers to
public users ?
:/ :/ :/
#Post#: 109--------------------------------------------------
Re: Imvu voice chat
DIR By: Lags
Date: January 3, 2018, 6:34 pm
---------------------------------------------------------
Let me look into it. i need to figure out what client was the
last client that had that and redirect the voice chat to a
private server. cause that was a server it connected to to voice
chat.
#Post#: 110--------------------------------------------------
Re: Imvu voice chat
DIR By: Lags
Date: January 3, 2018, 7:07 pm
---------------------------------------------------------
I don't think its possible because the API's that consistence
before are no longer there. i could keep looking into it :)
--- Quote ---
> function VoiceProduct(productObject, imvuCall,
voiceTestController, vivoxControl, myFonts) {
> this.vivoxControl = vivoxControl;
> this.voiceTestController = voiceTestController;
> this.imvuCall = imvuCall;
> this.data = productObject;
> this.element =
IMVU.Client.widget.ProductBase.template.cloneNode(true);
>
> this.elName =
IMVU.Client.xpath.getFirstElement("descendant::div[@class='info']/h3",
this.element);
> this.elPrice =
IMVU.Client.xpath.getFirstElement("descendant::div[@class='price']",
this.element);
> this.elThumb =
IMVU.Client.xpath.getFirstElement("descendant::div[@class='info']/div[@class='thumb
clickable']/img", this.element);
> this.elTryX =
IMVU.Client.xpath.getFirstElement("descendant::div[@class='try-x
clickable']", this.element);
> this.elTryOn =
IMVU.Client.xpath.getFirstElement("descendant::div[@class='try
clickable']", this.element);
> this.elBuy = YAHOO.util.Selector.query(".buy.clickable",
this.element, true);
>
> this.elName.innerHTML = this.data.displayName;
> this.elPrice.innerHTML = this.data.price;
> this.elThumb.src = 'img/voice_font_icon_100x80.png';
//this.data.displayImage;
>
> this.imvuCall('log', 'vivoxId: '+ this.data.vivoxId);
> this.imvuCall('log', 'name: '+ this.data.displayName);
> this.imvuCall('log', 'myFonts: '+
YAHOO.lang.JSON.stringify(myFonts));
> if (myFonts.indexOf(this.data.vivoxId) != -1) {
> this.setOwned(true);
> }
>
> YAHOO.util.Dom.addClass(this.element, 'tryable');
>
> YAHOO.util.Event.on(this.elTryOn, 'click', bind(this,
this.clickTryOn));
> YAHOO.util.Event.on(this.elBuy, 'click', this.clickBuy, this,
true);
>
> this.buyClicked = new YAHOO.util.CustomEvent("buyClicked");
> }
>
> VoiceProduct.prototype = {
> clickTryOn : function(e) {
> IMVU.log( 'clickTry, channel_uri: ' +
this.vivoxControl.channel_uri );
>
> this.vivoxControl.setVoiceFont(this.data.vivoxId);
> this.voiceTestController.spawnTestWindow();
> },
> clickTakeOff : function(e) {
> this.vivoxControl.setVoiceFont(0);
> },
> clickBuy: function() {
> this.buyClicked.fire(this.data);
> },
> setOwned: function(v) {
> if (v) {
> YAHOO.util.Dom.addClass(this.element, "in-inventory");
> } else {
> YAHOO.util.Dom.removeClass(this.element, "in-inventory");
> }
> }
> };
>
> /*jslint forin: true */
> function VoiceMode(baseDiv, paginatorDiv, moreHardwareDiv,
vivoxControl, kwargs) {
>
> var voicetestShim = document.createElement('span');
> YAHOO.util.Dom.setStyle(voicetestShim, 'display', 'none');
>
> this.vivoxControl = vivoxControl;
> this.voiceTestController = new
VoicetestController(voicetestShim, this.vivoxControl, false);
>
> this.vivoxControl.startVivox(bind(this,
this.onVivoxLoginResult));
>
> this.baseDiv = baseDiv;
> this.paginatorDiv = paginatorDiv;
> this.imvuCall = kwargs.imvuCall;
> this.net = kwargs.network;
> this.eventBus = kwargs.eventBus;
> this.url = IMVU.SERVICE_DOMAIN + '/api/voice.php';
> this.paginatorDiv = paginatorDiv;
> this.moreHardwareDiv = moreHardwareDiv;
>
> if(parseInt(kwargs.perPage,10)>0) {
> this._itemsPerPage = parseInt(kwargs.perPage,10);
> } else {
> this._itemsPerPage = 8;
> }
>
> this._setupTopLevelTabs();
>
> this.setIsLoading(true);
> this.myFonts = [];
> this.vivoxControl.getSessionFonts(bind(this,
this.handleVoiceFonts));
>
> var searchMoreHardware = new ImvuButton(
> this.moreHardwareDiv,
> {
> callback: function () {
IMVU.Client.EventBus.fire('VoiceMode.SearchMoreAmazonClicked',
{}); },
> scope: this,
> grey: false
> }
> );
>
> YAHOO.util.Event.on(
> ['voice_settings', 'voice_test_call'],
> 'click',
> function() {
> IMVU.Client.EventBus.fire('VoiceMode.SettingsClicked', {});
> }
> );
>
> IMVU.Client.util.turnLinksIntoLaunchUrls('voice_faq',
this.imvuCall);
> }
>
> VoiceMode.prototype = {
>
> _dbg: function(t) {
> this.imvuCall('showErrorDialog', 'what', t);
> },
>
> handleVoiceFonts: function(fonts){
> for each (var f in fonts){
> this.myFonts.push(f.ParentID);
> }
>
> this._getData();
> },
>
> setIsLoading: function(state) {
> var e = document.getElementById("loading-mask");
> if (state) {
> YAHOO.util.Dom.addClass(e, "visible");
> } else {
> YAHOO.util.Dom.removeClass(e, "visible");
> }
> },
>
> _getData: function() {
> var self = this;
> var cb = {
> success: function(o) {
> var data = null;
> try {
>
> data = YAHOO.lang.JSON.parse(o.responseText);
> self._onDataComplete(data);
>
> } catch (e) {
> if (e.constructor != SyntaxError) {
> throw e;
> }
> }
> },
> failure: function(o) {
> self.imvuCall('showErrorDialog', 'Please Try Again', 'There
was a network problem loading the voice effect store.');
> self.imvuCall('endDialog', {});
> }
> };
>
> this.net.asyncRequest('GET', this.url, cb);
> },
>
> _onDataComplete: function(data) {
>
> this._data = [];
>
> for each (var entry in data) {
> this._data.push(entry);
> }
>
> this._totalPages =
parseInt(this._data.length/this._itemsPerPage,10);
> if(this._data.length%this._itemsPerPage) {
> this._totalPages++;
> }
>
> this.paginator = new Paginator(this.paginatorDiv, 1,
this._totalPages);
> this.paginator.evtClick.subscribe(bind(this,
this.handlePaginatorClick));
> this.onCompletePageLoad(1);
> this.setIsLoading(false);
> },
>
> handlePaginatorClick: function(evtData) {
> this.onCompletePageLoad(evtData.page);
> },
>
> _setupTopLevelTabs: function() {
> var tabs = YAHOO.util.Selector.query("li.tab", 'tabs_main');
> if (tabs.length) {
> YAHOO.util.Event.on(
> tabs,
> 'click',
> function() {
> if(YAHOO.util.Dom.hasClass(this, 'selected')) {
> return;
> }
> var a =
['tab_voice_fonts','tab_hardware','voice_fonts','hardware'];
> for (var i in a) {
> YAHOO.util.Dom.removeClass(a[i], 'selected');
> }
> YAHOO.util.Dom.addClass(this.id.replace(/tab_/g, ''),
'selected');
> YAHOO.util.Dom.addClass(this, 'selected');
> // FIXME: IMVU.Client.EventBus.fire('VoiceMode.ReloadAd', {});
> }
> );
> }
> },
>
> onCompletePageLoad: function(pageNum) {
>
> this.baseDiv.innerHTML = '';
> this.currentProducts = [];
>
> var startIdx = (pageNum-1) * this._itemsPerPage;
> var endIdx = startIdx + this._itemsPerPage;
> if(endIdx > this._data.length) {
> endIdx = this._data.length;
> }
>
> for(var i=startIdx; i<endIdx; i++) {
> var vp = new VoiceProduct(this._data[i], this.imvuCall,
this.voiceTestController, this.vivoxControl, this.myFonts);
> vp.buyClicked.subscribe(bind(this, this.onBuyClicked));
> vp.element.id = 'voice_product_'+(i-startIdx);
> this.currentProducts.push(vp);
>
this.baseDiv.appendChild(this.currentProducts[i-startIdx].element);
> }
> this.paginator.update(pageNum,this._totalPages);
> },
>
> onVivoxLoginResult: function(success) {
> var self = this;
> this.voiceTestController.handleVivoxStartResult(success);
> this.vivoxControl.getSessionFonts(
> function(){
> bind(self,
self.voiceTestController.handleVivoxStartResult(success) );
> }
> );
> },
>
> onNetworkError: function() {
> this.imvuCall('showErrorDialog', 'Please Try Again', 'There
was a network problem with your purchase');
> },
>
> onBuyClicked: function(eventType, args) {
> voiceFont = args[0];
>
> var credits = parseInt(this.imvuCall('getCreditBalance'), 10);
> var predits = parseInt(this.imvuCall('getPromoBalance'), 10);
> if(voiceFont.price > (credits + predits)) {
> this.imvuCall(
> 'showConfirmationDialog',
> 'Insufficient Credit Balance',
> 'You do not have enough credits to purchase this voice
effect.'
> );
> return;
> }
>
> if(!this.imvuCall('showYesNoDialog', 'Confirm purchase', 'Are
you sure you want to buy ' + voiceFont.displayName + '? It will
cost ' + voiceFont.price + ' credits')) {
> return;
> }
> this.setIsLoading(true);
> url = IMVU.SERVICE_DOMAIN + '/api/voice_font_purchase.php';
> var self = this;
> var cb = {
> success: function(o) {
> var data = o.responseText;
> self.setIsLoading(false);
> if (data.result != 'success') {
> self.onNetworkError();
> } else {
> IMVU.Client.EventBus.fire('NewVoiceFont',
{ID:voiceFont.vivoxId});
> self.myFonts.push(voiceFont.vivoxId);
> for each (var product in self.currentProducts) {
> if (product.data.vivoxId==voiceFont.vivoxId) {
> product.setOwned(true);
> break;
> }
> }
> credits = self.imvuCall('getCreditBalance');
> predits = self.imvuCall('getPromoBalance');
> IMVU.Client.EventBus.fire('updateCreditBalances', { credits:
credits - voiceFont.price, predits: predits });
> self.imvuCall('showConfirmationDialog', 'Success', 'You spent
' + voiceFont.price + ' on ' + voiceFont.displayName);
> }
> },
>
> failure: function(o) {
> self.setIsLoading(false);
> self.onNetworkError();
> }
> };
>
> this.net.asyncRequest('POST', url, cb, {voicefont_id:
voiceFont.vivoxId}, true);
> }
> };
>
> IMVU.Client.widget.ProductBase.createTemplate();
--- End Quote ---
#Post#: 119--------------------------------------------------
Re: Imvu voice chat
DIR By: Lags
Date: January 9, 2018, 8:56 pm
---------------------------------------------------------
[center]~This Topic has been moved to Discussions~[/center]
#Post#: 212--------------------------------------------------
Re: Imvu voice chat
DIR By: trukhronik
Date: March 9, 2018, 10:01 pm
---------------------------------------------------------
THAT WOULD BE LIT IF THERE 1 U CAN VID CHAT OR HAVE LIKE
SOMTHING THT CAN TELL U IF THT PERSON IS CATFISHIN
#Post#: 222--------------------------------------------------
Re: Imvu voice chat
DIR By: trukhronik
Date: March 9, 2018, 10:46 pm
---------------------------------------------------------
we need tht
*****************************************************
Page 1 of 1